Part Number Hot Search : 
527248MP MAX4312 03203 7002A DTC14 MC2674 TPAC175P CLQ122
Product Description
Full Text Search
 

To Download ACE9050IG Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  the ace9050 provides the control and interface functions needed for amps or tacs analog cellular handsets. the device has been designed using mitel semiconductor sub- micron cmos technology for low power and high performance. the ace9050 contains an embedded microcontroller and peripheral functions. the controller is of the 6303 type with a serial communication interface, timer, rom and ram. the peripheral functions are: data modem, sat management, serial chip interfaces, i 2 c interface, two pulse width modulators, ifc counter, tone generator, i/o ports, watchdog and crystal oscillator. several power down modes are incorporated in the device as is a processor emulation mode for software and system development. an index to this data sheet is given on pages 49 and 50. fig.1 pin connections - top view. pin 1 is identified by moulded spot and by coding orientation. see table 1 for detailed pin descriptions. outp2 [6] icn latch1 outp2 [7] latch0 pwm2 dtfg emul irqn poffn v ss v ss v dd exresn c1008 mrn a15 a14 cpucl r/w bar dtms pwm1 eclk rxcd ba17 ba16 ba15 ba14 a13 a12 a11 a10 a9 a8 a7 a6 v ddm v ss v ss a5 a4 a3 a2 a1 a0 cse2n csepn wen oen latc h3 serv synthclk synthdata inrq0 inrq1 kpi [3] kpi [2] kpi [1] kpi [0] v dd v dd txdata txsat txpow afc/rxdata kpo [4] kpo [3] kpo [2] kpo [1] kpo [0] inp1[4] inp1[3] inp1[2] rxsat testn xin xout dfms as baudclk p1 [7] p1 [6] scl/p1 [4] v ss v dd p1 [5] sda/p1 [3] p1 [2] p1 [1] p1 [0] v ss d7 d6 d5 d4 d3 d2 d1 d0 50 26 76 100 75 1 51 25 ace9050 fp100 features n low power, low voltage (36 to 50 v) operation n 30v memory interface n power down and emulation modes n 6303r-type microcontroller n amps or tacs modem n watchdog and power control logic n sat detection, generation and loopback n 6k bytes ram n interface to flash and eeprom memories n 512 byte rom boot block n i/o ports for keyboard scanning n i 2 c controller n small outline 100-pin package applications n amps and etacs cellular telephones n two-way radio systems related products the ace9050 is part of mitel semiconductor's ace chipset, together with the following: ace9020 receiver and transmitter interface ace9030 radio interface and twin synthesiser ace9040 audio processor ordering information industrial temperature range. tqfp 100-lead 14 3 14mm, 05mm pitch package (fp100) ace9050d / ig / fp8n: trays and dry packed ace9050d / ig / fp8q: tape mounted and dry packed 2 05v to 1 6v 2 55 c to 1 150 c 2 40 c to 1 85 c v ss 2 05v to v dd 1 05v absolute maximum ratings supply voltages v dd , v ddm storage temperature operating temperature voltage on any pin clock & baud generator memory interface watchdog & power control interrupt control ifc counter amps / tacs data modem sat management keypad interface acebus interface i 2 c bus interface 2 3 pulse width modulator tone generator 6303r micro- processor uart (sci) timer i/o ports 05k rom 6k ram i/o ports fig.2 ace9050 simplified block diagram ace9050 system controller and data modem advance information supersedes january edition, ds4290 - 2.3 ds4290 - 3.0 december 1997
ace9050 2 fig. 3 detailed block diagram of ace9050 outp2 [1]/ pwm1 synthdata synthclk dtfg latch0 latch1 latch3 latch2 onrad sintsleep c1008 irqsend irqrec lsicom0 lsicom1 lsicom2 lsicom3 lsicom4 lsicom5 lsicom6 str_width ace serial interface mri irw id[7:0] to mux #2 synthdata synthclk dtfg latch0 latch1 latch3 port3[6] port4[7] interrupts } emul only emul ip emul data/ad emul ip emul ip to 6303 emul as r/w d [7:0] a [7:0] a [13:8] a [15:14] bus interface irw id7:0 ad15:0 o/p in emulation data internal address memory bank switching eprom bank_sel mri irw id[4:0] ad[15:14] ba [17:14] cse2n csepn pulse width modulator dac1 dac2 pwm #2 pwm #1 mri irw id[7:0] mux #1 out2 [1] port5 [0] port5 [5:4] out2 [2] latch2 mux control mux #2 outp2 [2]/ pwm2/ latch2 control } internal ports mri irw id[7:0] lvn1 port3 port3 port4 port4 port5 port5 port3 [7:0] port4 [7:0] port5 [7:0] ? ? ? refer to text for individual bit functions external ports irqprt4-reset ext. interrupts out2 [7] out2 [6] out2 [5:3] out2 [2] out2 [1] out2 [0] keyp r/w to port out_port2 o/p port2 inp1 [7] inp1 [6] inp1 [4:2] inp1 [1:0] in_port1 i/p port1 irqprt5-mask irqprt6-read keyport/chip id kpot o/p tristate mri irw id[7:0] not bonded to mux #2 to mux #1 to cpucl pin powerdet serv irqe 3 2 5 4 outp2 [7] outp2 [6] inp1 [4:2] inrq [1:0] kpo [4:0] kpi [3:0] i 2 c enable reset i 2 c port5 [2] i2c_addr i2c_data i2c_cntr i2c_stat i2c_ccr testn clkbus irw id[7:0] iscl isda int 8064mhz p1 [4] p1 [3] i2c_interrupt ad15:o id7:0 irw read/write emul icn counter i/p reset mri clock e port1 [7:0] port2 [4] port2 [3] interrupt irqn baudclk 6303 microprocessor and kernel 8 irqprt0-reset irqprt1-mask irqprt2-read interrupt control i 2 c interrupt irqe (external int.) irqtx irqws irqbisat irqrx irqreq irqsend irqto ? ? ? ? ? ? ? interrupt source mri irw id[7:0] irqn rom 512 bytes (irom) boot block id [7:0] ad [8:0] irw irom ram 6016 bytes (iram) id [7:0] ad [12:0] irw iram mri irw id[7:0] baud rate clock brg isda iscl 8 3 baud p1 [7:0] dfms/p2 [4] dtms/p2 [3] irqn baudclk xosc-pd turbo ensis clkenab e (cpu clock) clkbus c1008 lvn1 clock generator port5 [6] port4 [3] port3 [2] port5 p[1] cpucl to watchdog and i 2 c out2 [0] cpucl/ outp2 [0] c1008 eclk xin xout testn in_port1 out_port2 irqprt4 irqprt5 iram eprom irom irome sleep mri irw ad[15:0] decoder ? ? ? ? ? ace9050 register selects ? memory selects port4 [1] port3 [1] oen wen barenable beep alarm ring generator (bar) barhigh barlow mri id[7:0] clkbus 126khz bar bar irqrx irqbisat irqws irqtx afc/rxdata nompll mdmslp enmod sat generator sat mux ifc counter iffreq (2432/256) stifcn (start/reset) icn icn (emul) afc/rxdata to 6303 port3 [0] port3 [5] ? ? ? interrupts port4 [4] port3 [3] port3 [7] barport test access only modem sat management port4 [2] select txsat rxsat id [7:0] irw mri c1008 54khz/450khz txdata txdata watchdog and ato watchdog and reset logic resato ato logic irqto clkbus irw testn rewd filter mri lvn1 inp1 [7] powdet master reset inp1 [6] serv mrn rxcd txpow exresn poffn port3 [4] upoffn v dd v ddm v ss modprt0 modprt1 modprt2 72 73 82 80 78 75 83 5 95 18-25 40,39,35-30 46-41 92,93 4 8 8 6 2 50-47 29 28 26 27 96 77 60 11, 64, 65, 68 38 10, 17, 36, 37, 86, 87 74 91 100 61 98 81 79 76 54, 53, 52 70, 71 59-55 66-69 7-9, 12-16 4 97 84 6 63 94 90 99 2 3 1 62 89 51 85
ace9050 3 functional overview microprocessor unit the processor unit is program compatible with the standard 6303r. it contains the following hardware: 8-bit cpu serial communication interface: sci (uart) 16-bit timer/counter 8-bit l/o port (p1) 2-bit l/o port (p2) the processor bus speed can be either 1008 mhz or 2016 mhz. an emulation mode is provided whereby the internal 6303 is bypassed to allow software development on a standard 6303 in-circuit emulator (ice). memory the ace9050 contains 512 bytes ofrom and 6144 bytes of ram internally. the rom code facilitates system initiation after a reset and the programming of flash memory via the 6303 sci (uart). the internal ram area represents the total ram requirement anticipated for a cellular phone. bus interface and memory bank switching these blocks create the data, address and control lines for the external memory. the external address bus is expanded from the standard 16 bits up to 18 bits by a banked addressing scheme. this increases the memory address space from 64k to 256k. two programmable chip selects (csepn and cse2n) are generated. the memory interface will operate down to 1 3v, allowing the use of low voltage memory parts. in emulation mode the external processor controls the ace9050 via the bus interface block. external ports the ace9050 contains two keypad interface ports, two maskable external interrupts, and both input and output ports. these are in addition to the 6303 bidirectional port1 and port2. the output port provides two high current outputs for driving leds. decoder and interrupt control the decoder block memory maps ace9050 register locations onto the processors address space. the interrupt control block handles both internal and external interrupt sources. these are fed into control logic allowing individual masking and reset by software. the interrupt control logic output is internally connected to the 6303 irq and also drives an external pin. ace serial interface (sint) and i 2 c three serial interface protocols are supported: uart, i 2 c and acebus. the 6303 provides a uart interface via the sci block. the ace9050 i 2 c block provides an i 2 c interface with both master and slave capability. the acebus is designed for use with the ace chipset and has a data rate of just over 1mbits/sec. three latch pulse are available to target data at the relevant ic and control the ace9030 synthesiser. beep, alarm and ring tone generator (bar) the bar generator is intended to drive an acoustic tone transducer. it has a programmable single digital pulse train output. modem and sat management the modem provides two way data transfer and sat management over the radio link between a base station and phone handset. amps and tacs data rates are supported . the modem block contains: digital discriminator, data decoder and word synchronising hardware. various modes can be selected by software. a squelch level is also set by software so that the quality of each data byte can be assessed. sat detection and generation at the standard three frequencies 5970hz, 6000hz and 6030hz is included. watchdog and power control (ato) the watchdog function will provide an internal and external reset if the processor does not make a write access to a defined address every 4 seconds. an autonomous time out circuit (ato) will drive the poffn output low if transmitter power is detected without receiver power, independent of any processor operation. poffn must be used in conjunction with external regulators to control power to the mobile handset. if control counter (ifc) the intermediate frequency control (ifc) counter is used as part of an afc loop. the ifc counter provides a pulse after a set number of if input pulses. the ifc counter output is connected to the 6303 timer input and an external pin (icn). twin pulse width modulators two independently programmable pulse width modulators (pwms) are available. these provide digital output pulse trains, controllable by software. the output can be filtered externally to provide a dac function. typical applications are battery charging control and lcd contrast control. clock generator the clock generator provides all the various internal and external clocks from a single 8064 mhz source. the source can either be an external crystal or the ace9030.
ace9050 4 internal description connect to v dd crystal connection cmos input: 8064 mhz crystal connection cpu port2 bit 4 or serial interface (sci) output address strobe (latch address during emulation) baud rate gen. output for emulation (lnput in test mode) port 1 of cpu port 1 of cpu port 1 of cpu/i 2 c scl ground digital supply port 1 of cpu port 1 of cpu/i 2 c sda port 1 of cpu port 1 of cpu port 1 of cpu ground data bus (and emulation address a7 input) data bus (and emulation address a6 input) data bus (and emulation address a5 input) data bus (and emulation address a4 input) data bus (and emulation address a3 input) data bus (and emulation address a2 input) data bus (and emulation address a1 input) data bus (and emulation address a0 input) output enable write enable c/s external eprom c/s external eeprom address bus address bus address bus address bus address bus address bus ground ground digital supply for memory interface (pins18-35, 38-50) address bus address bus address bus (input during emulation) address bus (input during emulation) address bus (input during emulation) address bus (input during emulation) address bus (input during emulation) address bus (input during emulation) address bus (extended address: from bank select register) address bus (extended address: from bank select register) address bus (extended address: from bank select register) address bus (extended address: from bank select register) received sat input bit 2 input port1 bit 3 input port1 bit 4 input port1 keypad scan output/output port keypad scan output/output port keypad scan output/output pon keypad scan output/output port keypad scan output/output port 54/450khz if input fromace9030 power detect from transmitter sat output tacs / amps modem output digital supply digital supply pu none - none pu pu none none none - - none none none none none - none none none none none none none none - - - - - - - - - - - - - - - none none none none none none - - - - none none none none - - - - - none none - - - - pin testn xin xout dfms/p2 [4] as baudclk p1[7] p1[6] p1[4]/scl v ss v dd p1[5] p1[3]/ sda p1[2] p1[1] p1[0] v ss d7 d6 d5 d4 d3 d2 d1 d0 oen wen csepn cse2n a0 a1 a2 a3 a4 a5 v ss v ss v ddm a6 a7 a8 a9 a10 a11 a12 a13 ba14 ba15 ba16 ba17 rxsat inp1 [2] inp1 [3] inp1 [4] kpo [0] kpo [1] kpo [2] kpo [3] kpo [4] afc/rxdata txpow txsat txdata v dd v dd 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 name pin descriptions table 1 cont clk/wdato clk clk cpu bint baud cpu cpu cpu / i 2 c cpu cpu / i 2 c cpu cpu cpu bint bint bint bint bint bint bint bint dec dec memb memb bint bint bint bint bint bint bint bint bint bint bint bint bint bint memb memb memb memb modem eport eport eport eport eport eport eport eport ifc/modem wdato modem modem block type i i o i/o i o (i) i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o o o o o o o o o o o o o o (i) o (i) o (i) o (i) o (i) o (i) o o o o i i i i o o o o o i i o o
ace9050 5 internal description keypad scan input/input port keypad scan input/input port keypad scan input/input port keypad scan input/input port external interrupt (also bit1 input port1) external interrupt (also bit0 input port1) synthbus data line synthbus 126khz clock 1 = service mode latch, programmable length. (to ace9030, latchc pin) output port2 bit 6: high current driver if counter output for emulation (input in test mode) latch o/p (to ace9030 receiver interface, latchb pin) output port2 bit 7: high current driver latch o/p (to ace9040, len ) output port2 bit 2/pulse width modulator #2 output/ synthbus latch o/p. bidirectional serial inter-chip data, to/from the ace9030 1 = cpu emulation mode cpu interrupt for emulation (input in test mode) power on/off ground ground digital supply external reset output 1008mhz clock for acebus, ace9030 and ace9040 0 = chip reset address input for emulation only address input for emulation only 8.064mhz clock/out port 2 bit 0 read/write (input during emulation) beep, alarm, ring tone output cpu port 2 bit 3 or serial interface (sci) input output port 2 bit 1/pulse width modulator #1 output processor clock (input during emulation) carrier detect from rx pd pd pd pd pd pd - - none - - pu - - - - none pd - - - - - - - none pu pu - none - none - none none kpi [3] kpi [2] kpi [1] kpi [0] inrq1 inrq0 synthdata synthclk serv latch3 outp2 [6] icn latch1 outp2[7] latch0 outp2[2]/pwm2/ latch2 dtfg emul irqn poffn v ss v ss v dd exresn c1008 mrn a15 a14 cpucl/outp2 [0] r/w bar dtms outp2 [1]/pwm 1 eclk rxcd 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 eport eport eport eport eport eport sint sint wdato sint eport ifc sint eport sint pwm sint bint/cpu cpu wdato wdato clk wdato bint bint clk/eport bint bar cpu pwm clk wdato block type i i i i i i o o i o o o (i) o o o o i/o i o (i) o o o i i i o o (i) o i/o o o (i) i table 1 (continued) pin name abbreviations bar beep, alarm and ring tone generator baud baud rate generator bint bus interface memb memory bank switching clk clock generator cpu 6303 microprocessor unit dec decoder eport external port i 2 ci 2 c interface ifc if control counter modem amps/tacs modem pwm pulse width modulator and mux sint serial inter-chip interface wdato watchdog/autonomous time out pu internal pullup resistor present pd internal pulldown resistor present table 2 unused inputs input or bidirectional pins must have a suitable pullup or pulldown reststor if they are configured as inputs, with no external drive. some inputs have an internal pullup or pulldown resistor of the order of 100k w ; this value is suitable if the pin is not subject to excessive noise or residual current greater than 15 m a. if the pins shown in table 2 are not used in the system, an external resistor will be required. pin name 4 7 8 9 12 13 14 dfms p1 [7] p1 [6] p1 [5] p1 [4] p1 [3] p1 [2] pin name 15 16 51 52 53 54 60 p1 [1] p1 [0] rxsat inp1 [2] inp1 [3] inp1 [4] afc_in/rxdata pin name 61 74 82 91 97 100 txpow serv dtfg (requires programming resistor) mrn dtms rxcd note: p1 [7:0], dfms and dtms are configured as inputs upon reset.
ace9050 6 electrical characteristics the electrical characteristics are guaranteed over the following range of operating conditions (unless otherwise stated): t amb = 2 40 c to 1 85 c, v dd = 36v to 55v, v ddm = 30v to 55v (note 2) characteristic conditions dc characteristics value typ. max. min. units symbol 1008mhz eclk, v dd = 5v 2016mhz eclk, v dd = 5v no clock & osc. powered down i oh = 2ma, v dd > 36v i ol = 1ma, v dd < 36v i oh = 2ma, v dd > 36v i ol = 15ma, v dd < 36v v dd > 36v v dd = 36v v dd > 36v v dd = 36v no pullup/down cell no pullup/down cell v dd = 55v, t amb = 25 c supply current (normal clock) supply current (turbo clock) supply current (static) input high voltage input low voltage output high voltage output low voltage high current drive o/p source (pins 76 & 79) high current drive o/p sink (pins 76 & 79) tristate leakage current input leakage current pullup/down resistance 07v dd 2 05 08v dd 35 35 60 150 092v dd 02 i ddnor i ddtur i ddsb v ih v il v oh v ol i ohhi i olhi i oz i in r in ma ma m a v v v v ma ma m a m a k w 02v dd 04 10 6 10 9 1 1 150 notes 1. the dc characteristics min. and max figures are guaranteed by test. 2. the voltage on v ddm must be less than or equal to v dd . characteristic value typ. max. min. conditions units symbol ac characteristics (clocks and crystal) oscillator frequency oscillator external i/p ac coupling capacitor external resistor external capacitors crystal esr startup time radio serial control bus microprocessor clock microprocessor clock clock output watchdog time out autonomous time out 470 f osc f ip c couple r1 c1, c2 xtal esr t su c1008 eclk1 eclk2 cpucl wd to ato to 8064 8064 10 1000 22 1008 1008 2016 8064 4 30 mhz mhz nf k w pf w ms mhz mhz mhz mhz s s 120 5 external crystal cmos/800mv sine i/p ac coupled sine input crystal oscillator crystal oscillator (note 1) crystal oscillator crystal oscillator normal clock turbo clock output enabled normal mode normal mode notes 1. refer to crystal manufacturer for exact deatils.
ace9050 7 description symbol units turbo clock typ. max. min. normal clock typ. max. min. t eclk t ad v cs l t cs l cl l t oe l cl l t da v cl l t cl l da i t cl l oe h t cl l cs h t cl l ad i cycle time address valid to cs low chip select set-up time oen set-up time data set-up time data hold time oen hold time cs hold time address hold time ns ns ns ns ns ns ns ns ns 2 445 240 35 0 0 9 7 496 4 480 245 1 24 18 9 490 248 4 45 42 2 940 485 35 0 0 9 7 992 4 972 492 1 24 18 9 985 495 4 45 42 timing cycle conditions input clock frequency, xin = 8064mhz. worst case timings: t amb = 2 40 c to 1 85 c, v dd = 1 36v to 1 55v typical timings: t amb = 1 25 c, v dd = 1 375v table 3 ace9050 6303 read cycle timing normal mode processor interface read cycle t ad v cs l t eclk t cs l cl l t oe l cl l t da v cl l eclk addr cs oen data t cl l ad i t cl l cs h t cl l da i t cl l oe h fig.4 ace9050 6303 read cycle timing diagram timing diagrams
ace9050 8 description symbol units turbo clock typ. max. min. normal clock typ. max. min. t eclk t ad v we h t we h ad i t cs l we h t we l we h t da v we h t we h da i t ad v da lz t ad v cs l t we h cs h cycle time address valid to end of write address hold time chip enable set-up time we pulse width data valid set-up time data hold time address valid to data low z address valid to chip select we high to cs high ns ns ns ns ns ns ns ns ns ns 395 63 390 173 177 60 203 0 66 496 420 72 415 181 183 225 4 72 427 93 425 184 192 239 9 105 835 125 825 363 365 120 451 0 127 992 853 140 840 364 368 473 5 140 862 151 860 371 371 487 10 163 timing cycle conditions input clock frequency, xin = 8064mhz. worst case timings: t amb = 2 40 c to 1 85 c, v dd = 1 36v to 1 55v typical timings: t amb = 1 25 c, v dd = 1 375v t ad v cs l t cs l we h t eclk t ad v we h t we l we h t we h ad i t we h cs h t ad v da lz t da v we h t we h da i eclk addr cs wen data write cycle (normal mode) fig. 5 ace9050 6303 write cycle timing diagram table 4 ace9050 6303 write cycle timing
ace9050 9 description symbol units turbo clock typ. max. min. normal clock typ. max. min. t cyc t ec l rw v t ec l ad v t ec l ad i t ad v as l t as l ad i t da v -w t da i -w t da v -r t da i -r cycle time read/write settling time address delay time address hold time address to latch set-up time address to latch hold time data set-up time - write data hold time - write data set-up time - read data hold time - read ns ns ns ns ns ns ns ns ns ns 160 160 0 60 30 50 1 80 1 992 250 250 table 5 6303 emulation mode read/write cycles timing emulation mode processor interface read and write cycles 0 20 20 50 1 80 1 496 t cyc eclk as r/w a[15:8] a[7:0] / d[7:0] t ec l ad i t ec l rw v t ec l ad v t ad v as l t as l ad i invalid stable invalid t da v t da i ad[7:0] da[7:0] fig.6 ace9050 6303 emulation mode read/write cycles timing diagram emulation mode timing cycle conditions input clock eclk frequency = 1008mhz (normal clock), 2016mhz (turbo clock), t amb = 1 25 c, v dd = 1 5v 6 10%
ace9050 10 serial interface block acebus read and write timings c1008 dtfg latch1 preamble 76 5 4 32 1 0 result1 76 5 4 32 1 0 result2 76 5 4 32 1 0 12 3 4 5 data3 fig.7 acebus transmit data flow t cl h d a t da v cl h c1008 dtfg synthdata latch0/1/3 d1 [7] d1 [6] d3 [2] d3 [1] d3 [0] t cl l da z t cl h t cl l t cl h la h t pw t cl h da i fig.9 acebus transmit timing diagram fig.8 acebus receive data flow c1008 dtfg t cl l da i t da v cl l fig.10 acebus receive timing diagram c1008 data1 76 5 4 32 1 0 data2 76 5 4 32 1 0 data3 76 5 4 32 1 0 dtfg latch1
ace9050 11 acebus timing cycle conditions input clock frequency, xin = 8064mhz. worst case timings: t amb = 2 40 c to 1 85 c, v dd = 1 36v to 1 55v typical timings: t amb = 1 25 c, v dd = 1 375v synthbus (note: the synthbus is not required when the ace9050 is used as part of the ace chipset) t d17 v cl h synthclk synthdata dtfg latch d1-7 d1-6 d3-1 d3-0 t cl h t cl l t cl h la h t la h t da v cl h t cl h da i fig.11 synthbus timing diagram synthbus timing cycle conditions input clock frequency, xin = 8064mhz. worst case timings: t amb = 2 40 c to 1 85 c, v dd = 1 36v to 1 55v typical timings: t amb = 1 25 c, v dd = 1 375v 491 488 491 491 491 0099 0 14 14 characteristic value typ. max. min. programmable width 496 496 496 conditions units symbol transmit clock high to data bus driven data set-up time data hold time clock high to latch high latch width 0 and 1 latch width 3 clock low clock high clock high to data line tristate receive data set-up time data hold time ns ns ns ns ns ms ns ns ns ns ns 1259 5 t cl h da t da v cl h t cl h da i t cl h la h t pw 01 t pw 3 t cl l t cl h t cl h da z t da v cl l t cl l da i table 6 acebus read and write timings >0 characteristic value typ. max. min. 39 40 497 952 399 393 conditions units symbol first data bit set-up time data bit set-up time (except first) data hold time clock high to latch high latch width clock low clock high m s m s m s m s ns m s m s 784 t d17 v cl h t da v cl h t cl h da i t cl h la h t la h t cl l t cl h table 7 synthbus timing
ace9050 12 internal registers and reset status ace9050 registers name r/w r r/w r/w r r r/w r/w r/w r/w r r r r/w r/w w w w w w r/w r/w r/w r w w w w w w w w w w w w w w w address 22-23 24-25 26-27 28-29 2c-2d 2e-2f 30-31 32-33 34-35 36-37 3a-3b 3c-3d 3e-3f 40-41 42-43 44 45 50 51 52 53 54 55 56 57 57 5b 5c 60-61 62-63 64-65 66 67 68-69 6a-6b 6c-6d 70-71 72-73 74-75 76-77 description d7-0 reset condition notes 1, 6 2 3, 7 6 4, 6 4, 6 4, 6 7 7 5, 7 7 7 7 7 7 table 8 ace9050 ports in_port1 out_port2 port3 barport irqprt2 irqprt6 modprt0 modprt1 modprt2 keyp lsicom4 lsicom5 lsicom6 port4 port5 bank_sel reserved barhigh barlow barenable brg i2c_addr i2c_data i2c_cntr i2c_stat i2c_ccr dac1 dac2 lsicom0 lsicom1 lsicom2 lsicom3 str_width kpot rewd resat0 irqprt0 irqprt1 irqprt4 irqprt5 external ip port external op port internal port test-do not access read int interrupts read ext interrupts modem modem modem key pad ip and chip id ace interface rx1 ace interface rx2 ace interface rx3 internal port internal port bank select do not access bar on bar off bar oe uart baud select i 2 c i 2 c i 2 c i 2 c i 2 c pwm 1 data pwm 2 data ace interface tx1 ace interface tx2 ace interface tx3 ace interface control latch 3 width o/p type for kpo reset watchdog reset time out reset int interrupts mask int interrupts reset ext interrupts mask ext interrupts ee 0 eee 00 00000000 00000000 111 x 111 xxxx 1111 00000000 00000000 00000000 0010 eeee eeeeeeee eeeeeeee eeeeeeee 00000010 00000011 xxx 00000 00000000 00000000 xxxxxx 0 xxxxx 000 00000000 00000000 00000000 11111000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 xxx 11111 xxxxxxxx xxxxxxxx 00000000 (reset) 00000000 (masked) xxxx 0000 xxxx 0000 notes: 1. bit 6 is set (1) in serv mode. bits 1 and 0 are set (1) if the corresponding interrupt is enabled (inverse of irqprt6). 2. bit 4 (upoffn) is set (1) in serv mode, but reset (0) in normal mode. 3. bit 4 is not used and should be treated as undetermined. 4. the lsicom4, 5 and 6 ports values will depend on the dtfg input. 5. in serv mode the boot block will set up brg to 00000100 (9600 baud). 6. e = depends on external input. 7. x = not used or undetermined.
ace9050 13 name ddr1 ddr2 port1 port2 tcsr frc_high frc_low ocr_high ocr_low icr_high icr_low rmcr trcsr rdr tdr ramcr r/w w w r/w r/w r/w r/w r/w r/w r/w r r w r/w r w r address 00 01 02 03 08 09 0a 0b 0c 0d 0e 10 11 12 13 14 description data dir register p1 data dir register p2 data port 1 data port 2 timer control/status free run counter msb free run counter lsb o/p compare reg msb o/p compare reg lsb i/p capture reg msb i/p capture reg lsb rate & mode control tx/rx control and status rx data tx data not used d7-0 reset condition 00000000 00000000 eeeeeeee 010 xxxxx 00000000 00000000 00000000 11111111 11111111 00000000 00000000 xxxx 0000 00100000 00000000 00000000 00000000 notes 1 1 2 3, 4 4, 5 6 7 notes: 1. both ports set to input (0 = i/p, 1 = o/p) 2. e = external input 3. 6303 internally set to multiplexed mode 4. x = unused or undetermined 5. set to 00001100 in serv mode 6. set to 00111010 in serv mode 7. this register read only in the ace9050 table 9 6303 ports modes of operation the ace9050 has three independent modes of operation: normal, emulation, service. mode emulation service normal pin emul serv - enabled high high default mode table 10 modes of operation 1, normal mode this is intended to be the mode of operation when the ace9050 is fully commissioned in the application. the internal 6303 microprocessor is used and the boot block ensures the program counter goes to the beginning of the rom code area after initialisation. in normal mode various blocks can be powered down to save current, and the processor can be programmed to run at 1008mhz or 2016mhz. 2. emulation mode this mode is intended for system and software development work. in emulation mode the internal 6303 processor is made redundant and its function is replaced in the system by an external 6303 processor. this is to facilitate using a generic 6303 in-circuit emulator (ice) for software development. table 11 shows the functionality of external pins that change in this mode. this is to enable all of the internal functions of the ace9050 to operate as they would in normal mode. in emulation mode the external processor or ice must be set up to operate in multiplexed mode. this mode is only intended for use at room temperature. pin d[7:0] a[13:8] a[15:14] eclk r/w as irqn icn function data address not used 6303 clk not used not used not used not used type i/o o i o o i o o data and a[7:0] i/p address i/p a[13:8] address i/p a[15:14] ace9050 clock i/p read/write strobe address latch strobe 6303 interrupt 6303 timer p2 [0] type i/o i i i i i o o normal mode emulation mode function table 11 normal and emulation mode functions ace9050 6303 registers 3. service mode this mode is intended for system development and phone service, where reprogramming of a flash rom device is required. the two areas that are affected by service mode are: 1. the watchdog and autonomous time out (ato) resets are inhibited. this is intended for software development work. the poffn pin (85) is initially programmed to be a 1 by the rom code in this mode. 2. the internal rom code facilitates loading of a program into the ram area from the sci. this program would normally be a flash loading program. the sci may then be used to load new object code into the flash memory of a system.
ace9050 14 the rom code has a time out function so that if a valid start code is not detected on the sci normal code operation will begin. the rom code is fully described in the internal rom boot block section. 4. test mode test mode increases the efficiency of volume testing of the part. pin 1, testn, should be hardwired to v dd . 5. power down modes to reduce overall power consumption, selective power down of various blocks is available under software control. in the power down state each block will go to a predetermined logic state. the following power reduction features are included: bus interface (csepn = 1 and address = 3fff) 8064 mhz external clock off 1008 mhz external clock off amps/tacs modem power down ace serial chip interface power down cpu sleep mode crystal oscillator off 1mhz/2mhz bus speed functional descriptions 1. ace9050 6303r description general description the embedded processor in the ace9050 is functionally equivalent to a generic 6303r micro. this data sheet outlines the functionality of the embedded processor, detailing its operation with the internal peripheral circuitry. it is not intended as a programmers guide for a 6303. if further information is required the following publications are recommended: hitachi 8-bit single-chip microcomputer data book sept.1989 motorola microprocessors data manual macro assemblers reference manual, motorola semiconductors mc68masr(d) . the 6303 is an 8-bit processing unit which has a completely compatible instruction set with the 6301. it has object code upwardly compatible with the hd6300, hd6801 and hd6802. the ace9050 has 6016 bytes of internal ram (the 6303r has 128 bytes). other features are: a serial communications interface (sci or uart), a 16-bit timer, 8-bit i/o port and a 5-bit i/o port (only 2 are bonded out from the ace9050). the bus speed can be configured to 1008 in normal mode or 2016mhz in turbo mode. the ace9050 has an emulation mode whereby its internal 6303 is bypassed and the peripheral functions may be driven externally by a standard 6303 ice. ace9050 6303r pin description the ace9050 6303 is embedded in a kernel which interfaces to the rest of the circuitry. table 12 describes the internal connections to the ace9050 6303. in emulation mode, none of the output pins drive the internal buses. clock the cpu clock is provided from the clock generator circuit in the ace9050. this clock is either 1008mhz or 2016mhz. it is not further divided down in the 6303, so this clock frequency is the same as the processor bus speed. refer to the clock generator section for details of how to configure the internal name v dd v ss xtal external e nmi irq res port2 [0] port2 [1] port2 [2] port2 [3] port2 [4] port1 [7:0] addr [15:8] d/a [7:0] r/w as stby i/o description i i - - i - i i i/o * - i/o * i/o i/o i/o o i/o o o - internal power supply internal ground not connected not used (system clock driven into e directly) system clock ip not used: tied to vdd connected to interrupt control block and irqn pin connected to internal reset mri internally connected to ifc counter not connected internally connect to baud clk external pin (sci i/p or port2) external pin (sci o/p or port2) external pin (port1 i/0 access) connected to internal address bus internally connected to buses connected to internal logic and r/w pin connected to internal logic standby mode disabled = v dd * port2 bits 0 and 1 must be configured as inputs in the 6303 to use the ifc and baud rate generator functions. table 12 generic 6303 i/o mapping clocks. port 1 this is an eight bit i/o port with the direction of each bit being defined by the data direction register ddr1 as given in table 13. the port can be accessed for read and write via the port1 register. the output buffers have tristate capability, being high impedance when used as inputs. when the processor is reset these are high impedance. two pins (bits 3 and 4) associated with this port are also used as i/0 from the i 2 c interface on the ace9050. this is configured by port 5 bit 2. the 6303 is internally configured to mimic multiplexed mode of operation, so this port cannot be configured to output the lower address bits. the ace9050 has dedicated pins for this purpose. associated registers port 2 this is a five-bit i/o port with the direction of each bit being defined by the data direction register ddr2. only bit 3 and bit 4 are connected to external pins. this allows access to the i/o port and serial interface functions. bit 0 and bit 2 are internally connected to the ifc and baud clock. they must be configured as inputs to use these functions. bit 0 and bit 2 are not externally accessible. name ddr1 bits [7: 0] port 1 bits [7:0] description 1: sets corresponding port line to output 0: sets corresponding port line to input read and write access to port 1 table 13 port 1 associated registers
ace9050 15 the ace9050 has an additional output port 2, which is separate from the 6303 port 2. associated registers serial communication interface (sci or uart) the processor contains a full-duplex asynchronous serial communications interface. it consists of a transmitter and receiver which operate independently but with the same data format and rate. both parts communicate with the cpu via the data bus and to the outside world via port 2. interrupts generated can be individually masked. the receiver can be sent to sleep by software. no receive interrupts are generated during a message in this state. the baud rate can be generated within the ace9050 6303 or the ace9050 can provide a baud rate generator and selection register external to the processor block. this allows the following standard baud rates to be programmed: 600,1200. 2400, 4800 or 9600. the hardware consists of four registers: an 8-bit control/ status register, 4-bit mode select, an 8-bit receive data and an 8- bit transmit data register. bit description r/w name transition of appropriate type occurred on input (icn). cleared by read of input capture register match between free running counter and output compare register * timer overflow. cleared by read of counter. enable an icf interrupt enable an ocf interrupt * enable timer overflow interrupt 0 = negative edge on icn trigger icr 1 = positive edge on icn trigger icr output level * 7 6 5 4 3 2 1 0 r r r r/w r/w r/w r/w r/w icf ocf tof eici eoci etoi iedg olvl * as the timer cannot generate an output these bits are considered non- functional in the ace9050. table 15 tcsr bit descriptions frc: free running counter the frc is a 16-bit readwrite counter; data can be read from or written to it. the register has extra hardware to load and save both bytes of the counter simultaneously when a double byte store instruction is used. the counter is incremented by the processor clock. reading from the counter does not affect it. icr: input capture register the icr is a16-bit read register which holds the value of the free running counter when a transition is detected on icn, i.e. the ifc counter output. bit description r/w name 7 6 5 4 3 2 1 0 rx data register full * overrun/framing error * tx data register empty rx interrupt enable: enables an interrupt for both bit 7 and bit 6 rx enable. this sets port2 bit 3 to input regardless of the ddr2 tx interrupt enable: bit 5 will generate an interrupt tx enable: this sets port2 bit 4 to output regardless of ddr2 wake up: set by software and cleared by hardware. ** r r r r/w r/w r/w r/w r/w rdrf orfe tdre rie re tie te wu * overrun is where new data is placed in the receive register before the old data has been read. framing error is where the bit counter is not synchronised with the boundary of the byte in the received bit stream defined in table 17. ** the wake up mode is intended for systems where more than one processor is on the uart link, and is addressed by the first byte of data. if the address is incorrect the processor can disable the interrupts and effectively ignore the word. rmcr transfer rate/mode control register the mode select register controls the clock source and set- up. this is a write-only register. the processor can use an internally divided down processor clock to give the baud clock. the baud rate division ratio can be set to a value from 16 to 4096. however, this could lead to non-standard baud rates so the ace9050 provides a separate baud rate generator.the bit functions of this register are described in table 18. table 16 trcsr: transmit/receive control status register bit descriptions condition no data good data rx framing error overrun error bit 7 bit 6 0 1 0 1 0 0 1 1 note: bits 7 and 6 are cleared by reading the status register, followed by reading the received data register table 17 name ddr2 * bits [4:0] port 2 * bits [4:3] description * the trcsr register overrules these registers. table 14 port 2 associated registers programmable timer the ace9050 6303r contains a 16 bit programmable timer which may measure the period of an input waveform, as with a standard 6303r. this counter runs from the eclk. the counter cannot generate an output waveform. the input to the timer is internally connected to the ifc counter for the afc loop function. the timer hardware consists of an 8-bit status and control register, a 16-bit free running counter and a 16-bit input capture register. tcsr (timer control and status register) the control and status register has three flags: input capture, output compare match and timer overflow. each flag has an associated interrupt enable. the other two bits in the register are for control of the output level and input edge select. the bits are described in table 15. 1: sets corresponding port line to output 0: sets corresponding port line to input read and write access to port 2
ace9050 16 bits [7: 4] [3: 2] [1: 0] value xxxx 00 01 10 11 00 01 10 11 not used clock control mode sci disabled use processor clk for baud rate not used use ace 9050 baud rate generator speed select (bits 3: 2 = 01) e 4 16 e 4 128 e 4 1024 e 4 4096 description table 18 rmcr transfer rate/mode control register mode is fully supported by the ace9050 6303. this mode is entered by execution of the slp instruction. escape is via an interrupt or reset . address, data and memory control the address, data and control lines from the ace9050 6303 connect to a kernel which interfaces to the on chip bus structures. the bus interface block provides suitable buffering to drive required buses externally, and configure the i/0 for emulation mode. interrupt processing the interrupt processing in the ace9050 6303 is essentially the same as a generic 6303, the exception being nmi, which is not available. the irqn is internally connected to the i 2 c interrupt, the external interrupt and the internal interrupt blocks. these blocks combine all the possible sources for interrupts into one line which is connected to irqn. this is also connected to a pin for use in emulation mode. the irqn is maskable. the interrupt mask bit in the condition code register must be zero for the cpu to respond to the interrupt request, as with a generic 6303. the interrupt vector memory map is shown in table 20. error processing an interrupt is generated when an undefined op-code is fetched, or when an instruction is fetched from an impossible address. this is in the range 0000- 007f for the ace9050 (0000- 001f for a standard 6303). 2. internal rom boot block the rom code provides a boot block for the ace9050. following a reset condition code execution will always start in the internal rom. the internal rom data flow depends on the condition of the serv input and thus the mode of operation of the ace9050. the operation flow of the irom is shown in fig. 12 and described in the following sections: normal mode 1. read serial data on acebus dtfg line 2. configure ace9030 reference dividers via acebus. 3. set the program counter to the beginning of external rom (1800 h ). service mode 1. read serial data on acebus dtfg line 2. configure ace9030 reference dividers via acebus 3. configure the uart to rx 4. wait 2 seconds for special code on uart - if not found go to step 3 of normal mode 5. load data from uart into ram bits [7:0] (data) [7:0] (data) rdr: received data register read received bits. first bit received is placed in bit 0, last in bit 7 tdr: transmit data register write register to store bits before serial transfer from transmit shift register, bit 0 first description table 19 receive and transmit data registers in normal mode the sci should be initialised before operation. this means writing to the mode select and the control/status register. in service mode the sci is configured for 9600 baud, and the receive interrupt enabled. when the transmitter is first initialised it will send a ten-bit preamble of 1s before being ready to transmit data. once initialisation is complete data transmission enabled by writing to the transmit data register. tdre is set to 0. a start bit is transmitted (0). next the eight bit data starting at bit0 are transmitted followed by a single stop bit (1). the hardware sets the tdre bit in the trcsr register. if the cpu does not transfer another word the output goes high. the receiver is configured during initialisation. if enabled and a start bit is detected (0), the next nine bits will be sampled approximately at the centre of each bit. if the ninth bit is a 1 the data is transferred to the receive data register. the rdfr bit is set in the trcsr register. if the ninth bit is not a 1 or the receive data register is full then the orfe bit is set to indicate an error. a read of the trcsr register followed by a read of the received data register (rdr) will clear these flags. ram control register (ramcr) this register is read only in the ace9050. bit 6 (rame) is set to zero: this is because the ram on the ace9050 is external to the 6303 block. bit 7 (stby) is also set to zero by the ace9050 because standby mode is not supported. operating modes the generic 6303r has two modes: multiplexed and non- multiplexed, where the mode is selected externally using p2[0], p2[1] and p2[2]. this is not required on the ace9050, where the mode is set to mimic multiplexed internally when the reset (mrn) is released . the ace9050 processor has two fundamental modes of operation: emulation and normal, which are described in the modes of operation section. low power consumption modes the generic 6303 standby mode is not supported by the ace9050 6303. the stby pin is not accessible. the sleep priority 1 2 3 4 5 6 7 8 msb fffe ffee fffa fff8 fff6 fff4 fff2 fff0 lsb ffff ffef fffb fff9 fff7 fff5 fff3 fff1 interrupt vector res trap software interrupt (swi) irqn icf (timer input capture) ocf (timer op compare) tof (timer overflow) sci (uart) table 20 interrupt vector memory map
ace9050 17 6. pass control to program loaded in ram 7. map interrupt vectors to ram space. 8. the ram program can then program a flash memory via the uart. steps 1and 2 - both modes the ace chipset offers the flexibility of using one of three different crystal frequencies: 128, 1485 or 1536 mhz. the chosen crystal can be used to generate all the system clocks and local oscillator frequencies required in a cellular phone application. the ace9050 must detect what crystal is being used and set up the correct value for the osc8 dividers in the ace9030. this is handled in the internal rom. upon reset the ace9030 sets the osc8 for a 1536 mhz crystal, so the ace9050 is not clocked faster than 8064 mhz. the system designer must set up the dtfg input (the radio serial interface, pin 82), using an external resistor of approximately 10k w . the crystal frequency determines where the resistor is terminated, as shown in table 21. upon reset the ace9050 internal rom reads the dtfg input and programs the ace9030 osc8 accordingly. where: nn = number of bytes ( xx 1 pp 1 dd 1 cc ) in record. pppp = load address dd = data bytes, 1 to 16 xxxx = name of proqram (ascii coded) eeee = program entry address cc = checksum calculated from [255 2 sum(pp) 1 sum (dd) 1 sum (xx) 1 sum (ee) 1 nn)] mod 256 when the s9 is read in from the end of file record, the code will jump to the reset vector. this is mapped to 0ffe by the irom. the ram program will then begin execution as for a reset. the last 6 characters of the record file (nneeeecc) will be received while the program is running. (b) binary dump file this format is for the binary representation of the code, not a proprietary binary format code. the start code for this format is ob ascii (ie 30 h , 42 h ) . first two bytes are the start address pointer. the next two bytes are the end address pointer 1 1. the next bytes are the data bytes. these are loaded consecutively from the start to the end address. when the last data byte is received the program counter will go to the loaded code start address pointer. step7-interrupt vector table the internal rom will map the 6303 interrupt vector table to an address space in ram so the loaded program can deal with interrupts as shown in table 22. in general only the sci interrupt is required for a flash loading program. 0ffe 0fee 0ffc 0ffa 0ff8 0ff6 0ff4 0ff2 0ff0 vector address interrupt reset trap not implemented swi software interrupt irqn icf timer input compare ocf timer output compare tof timer overflow sci table 22 ram area reserved for irom operation the irom code itself requires a small amount of ram during its operation. this area must not be used for storage of the ram program. ram reserved area: 080 h to 100 h fig. 12 shows the data flow for the internal rom. 3. decoder the decoder logic creates the memory map for system containing the ace9050. internally, it maps the ace9050 registers, ram and rom onto the system memory map. external rom is also mapped onto the available address space by the decoder, but the situation can be complicated by the bank address switching circuitry. refer to table 23 on the following page for details of memory mapping. note that the ace9050 contains memory banked switching circuitry. refer to the section 4 bus interface and memory banking below for details. the decoder also creates suitably timed output enable and write enable signals (refer to figs. 4 and 5) for parallel read and write cycles to external devices. step 3 - normal mode program code in the external eprom at address 1800 h is started. the internal rom resides at the top of the processor address space fe00 h - ffff h . obviously the main program requires access to this space for interrupt vectors. the internal rom is deselected by setting port4 [1] to zero. it is recommended that any external program does this quickly and always before enabling any interrupt sources. step 3 - service mode the internal rom will initialise the 6303 sci (uart) and set up the baud rate generator to 9600 baud. the sci is initialised to the following: receiver on transmitter on receive interrupt enabled 9600 baud rate from ace9050 baud rate generator the receive interrupt will remain enabled after the irom code execution. the uart is always configured for 8-bit data transfer, no parity and one stop bit. steps 4, 5 and 6 - service mode when in service mode the ace9050 can download a program from the sci to ram. to achieve this the first code (start code) must be sent down to the sci within 2 seconds of releasing reset. the boot block code will write the subsequent code into ram. two code formats are supported: (a) motorola s- record format (b) binary dump (a) motorola s-record format the start code for this format is oa in ascii ( i.e. 30 h , 41 h ). s0nnppppxxxxxxxxxcc first record in file s1nnppppdddddddddddddcc data record with 16-bit address s9nneeeecc end of file record (nn = 3) 128mhz 1485mhz 1536mhz crystal serial data rxed 000000 0 < data < ffffff ffffff v ss (gnd) a1 (pin 31) v dd table 21 resistor from pin 82 to:
ace9050 18 0000-001f 0020-007f 0080-17ff 1800-7fff 8000-bfff c000-fdff fe00-ffff 6303 registers internal ace9050 registers ram non banked external rom banked external rom non-banked external rom internal / external rom table 23 address (hex) description external pins oen output enable, active low (pin 26) this signal is used when accessing external memory or other suitable devices. driving the output enable input of external memory reduces the possibility of data bus contention conditions. wen write enable, active low (pin 27) this output is used to latch data into external memory or other suitable devices. associated registers irom port 4 bit 1 the ace9050 internal rom (irom) is mapped to the top 512 bytes of the address space allowing it to provide interrupt handler routines. upon reset the irom select is enabled. it can and should be disabled by software before the interrupts are enabled. irom address range fe00 h -ffff h : 0 = external rom 1 = internal rom (reset state) bit 1 description table 24 sleep port 3 bit 1 if this bit is enabled then the csepn will become inactive during periods when the 6303 is in sleep mode. when the 6303 sleep mode is activated, the processor puts ffff h on the address bus. the decoder simply does not activate csepn for this address when the sleep bit is enabled. sleep address ffff h : 0 = csepn active 1 = csepn inactive bit 1 description table 25 1 reset released read data from dtfg wait up to 2 sec for 0a or 0b no load either motorola s-format or binary file code into ram area from sci yes pass control to ram program set up ace9030 for 1485mhz xtal set up ace9030 for 1536mhz xtal set up ace9030 for 128mhz xtal pc to 6303 reset vector fffe ace9050 reset irom selected (port4 [1]C1) start irom code ffffff 000000 0< data ace9050 19 as address strobe (pin 5) this input is used in emulation mode only. th external d [7:0] will contain both data and the lower 8 bits of the address bus.the bus interface provides the transparent latch required to hold the value of the address during the latter part of the cycle. the as is provided to control the latch enable. in a typical system this will be directly connected to the emulating 6303 as output. r/w read/not write (pin 95) this is an output in normal mode, but an input in emulation mode. it is the processor read/not write line. the timing of this output is not guaranteed to be the same as a standard 6303 processor. in emulation mode it will be directly connected to the emulating 6303 r/w line. d [7:0] data (and address in emulation mode) (pins 18-25) in normal mode these pins provide bidirectional data transfer between the ace9050 6303 and external memory. in emulation mode they provide the directional data and the lower 8 bits of the address bus into the ace9050. a [7:0] lower 8 address bits (pins 40, 39, 35-30) these outputs provide the lower 8 bits of the address bus for external memory. this is the case for both normal and emulation modes. a [13:8] address bits 13 to 8 (pins 46-41) in normal mode these provide the output of the ace9050 6303 address bus bits 13 to 8, for addressing external devices. in emulation mode, a[13:8] provide input for an external 6303 address bus, to address the ace9050 functions excluding the 6303. a [15:14] emulation address bits 15 and 14 (pins 92 and 93) these inputs are only used in emulation mode. the internal 6303 address a[15:14] are fed to the banked address logic and not to an external pin. in emulation mode the host processor must drive the complete 6303 internal address bus so a[15:14] inputs are provided. the host processor will then drive the entire internal bus and the bank select register, so the external memory access will be the same regardless of emulation or normal mode. ba [17:14] banked address (pins 50 to 47) the ace9050 expands the external address bus to 18 bits. this allows up to 256k of memory space. ba [17:14] are the outputs from the bank select register. the operation of the refister is described further in memory map and banked addressing, below. csepn chip select (pin 28) this output provides active low chip select for accessing external program memory. on reset the entire external memory address space is mapped to csepn. in the banked area of the memory map the programmer can select either csepn or cse2n access via bit 4 of the bank select register. cse2n chip select (pin 29) this output provides an active low chip select for accessing external memory or other suitable device. in the banked area of the memory map the programmer can select either csepn or cse2n access via bit 4 of the bank select register. v ddm supply to memory interface (pin 38) the power supply pin for the memory interface, v ddm , provides the power supply for the following pads: a [13:0], ba [17:14], d [7:0], csepn, cse2n, wen and oen memory map and banked addressing the ace9050 provides the circuitry to create a banked addressing system which will increase the size of the programming space from 16 bit (64k bytes) to 18 bit (256k bytes) and enable two chip select lines to be programmed. this is achieved using an internal register to select the required page of memory and chip select line. the use of banked addressing and associated circuitry is not mandatory in a system using an ace9050. when using banked addressing the external addresses generated and thus the system memory map are different from the 6303 memory map. the banked addressing functions in the same manner for both normal and emulation mode with a external processor. fig. 13 data and address bus configuration ace9050 6303 and kernel id[7:0] (disabled in emulation mode) ad[15:0] irw ? (disabled in emulation mode) transparent latch memory bank switching internal address bus [15:0] normal: emul: normal: emul: [7:0] [13:8] [15:14] data bus internal eprom chip select [15:14] latch enable a[13:8] output a[13:8] input not used a[15:14] input a[7:0] ba[17:14] csepn cse2n normal: emul: r/w not used r/w input 4 2 6 8 8 normal: emul: not used as input normal: emul: d[7:0] d[7:0] & a[7:0] input 16 2 internal read / not write 8 internal data bus [7:0]
ace9050 20 associated register bank_sel: bank select register (write only) bit [7:5] 4 3 2 1 0 - cs ba 17 ba 16 ba 15 ba 14 not used chip select: 1 = cse2n 0 = csepn banked address a17 (see table 27) banked address a16 (see table 27) banked address a15 (see table 27) banked address a14 (see table 27) name description the processor memory map is thus split into two distinct areas: non banked address (root) and banked address: non banked address area (root) a[17:14]: the address lines a[17:16] are set to 11. the address lines a[15:14] are identical to the corresponding processor address lines. this means the original area of the processor memory map is mapped to the top of the external memory address space. cse2n is never active, regardless of the value of the bank_sel register bit 4. all access will be with csepn. banked address area: a[17:14] these address lines are the same as bank sel register bits [3:0]. the programmer can in theory select up to 16 pages. this is discussed in more detail in system memory map section. cse2n: the bank sel bit 4 determines whether this chip select line is enabled or the csepn. table 28 summarises operation in the two areas. fig. 14 banked addressing block diagram fig. 15 memory map and banked addressing bank 1 bank 2 bank 3 bank 4 bank 5 bank 6 bank 7 bank 8 bank 9 bank 10 bank 11 bank 12 registers ram banked boot rom 0000 1000 8000 c000 fe00 ffff cpu address 15:0 ? ? ? ? 0xxxx 1xxxx 2xxxx 3xxxx system address 256k rom system memory map 64k processor memory map banked address system memory map the processor and the system memory map become different because of the memory banking. the system memory map is spit into 16k pages and the original processor memory map re-targeted. refer to fig. 15. bank_sel register id[3:0] id4 mux a b mux b a control 1 = a, 0 = b ad15 ad14 id [4:0] 17 16 15 14 4 4 5 v dd eprom select ba [17:14] csepn cse2n 4 a[17:14] a[17:14] the banking is configured to occupy a 16k byte area of the processor memory address space. it will thus create 16k byte pages. this is configured in hardware and cannot be altered. it is achieved by decoding the upper 2 bits of the processor address bus. if the address is in the range 8000 h to bfff h which corresponds to a[15:14] = 10, the bank select circuit is invoked. the bank addressing circuit only affects the upper four bits of the external data bus. the top two a[17:16] are completely new, and the next two a[15:14] are replacements for the processor a[15: 14] bits. fig. 14 is a block diagram of the bank select circuitry. table 26 page base address (hex) bank_sel 3:0 bank_sel 3:0 page base address (hex) 0000 0001 0010 0011 0100 0101 0110 0111 00000 04000 08000 0c000 10000 14000 18000 1c000 1000 1001 1010 1011 1100 * 1101 * 1110 * 1111 * 20000 24000 28000 2c000 30000 34000 38000 3c000 * refer to system memory map section for more details table 27 address area non-banked banked set to 11 same as micro always csepn bit 4 a[17:16] a[15:14] chip select bank select register bits [3:0] table 28
ace9050 21 the page addressing can access up to 16 3 16k pages per chip select line in theory; however the original 6303 memory map must also reside in the 256k of csepn memory space. this is put to the top of the system memory map by the ace9050 and represents pages 13 to 16. so, for example, the 6303 address range c000 h to ffff h will access the same memory location as 8000 h to bfff h with the bank select register set at 0f h . this is useful when programming a flash memory device, but care must be exercised in the addressing of run time code. for the top four pages the system designer must decide whether to access the area via its page address or its direct (root) address. for the original 6303 4 pages: page 1 (0000 h -3fff h ) = page 13 (30000 h -33fff h ) this must be used for root rom, as the code will jump to 1800 h after reset. this means the bottom 6k of the page (0000 h -17ff h ) cannot be used unless it is accessed via its banked address. it does allow the maximum possible (42k) memory area to be configured as non banked. page 2 (40000 h -7fff h ) = page 14 (340000 h -37fff h ) this page can either be used as root, or banked. page 3 (8000 h -bfff h ) = page 15 (38000 h -3bfff h ) this page is banked by definition. page 4 (c000 h -ffff h ) = page 16 (30000h-3ffff h ) the final page could either be accessed via it banked address or root address, however as this contains the interrupts it must be root. the designer can also allocate any of these or further shadowed 16 pages to the cse2n chip select. it is up to the system designer whether to use unique pages for cse2n or shadow a rom (csepn) page . 5. interrupts the ace9050 contains one internal interrupt port, one external interrupt port and one i 2 c interrupt. this expands the one 6303 maskable interrupt (irqn) into eight internal and two external interrupts. the interrupt control logic enables masking, reading and resetting of the potential interrupt sources. three registers are associated with each of the two interrupt control ports, irqprt 0, 1 and 2 for internal and irqprt 4, 5 and 6 for external interrupts. each interrupt control port will generate an interrupt request line, as will the i 2 c interrupt. these three lines are nored together to produce the 6303 irqn input. fig. 16 is a block diagram of the interrupt section. if a source is not masked an interrupt will be generated and the corresponding bit set in the interrupt register. if it is masked no interrupt will be generated and the correspondincg bit will not get set in the interrupt register. once an interrupt is generated, it can be read in irqprt2, 6 or the i 2 c section. if both internal and external interrupts are enabled the processor must read both irqprt2 and 6; however, if only external or internal interrupts are enabled the software need only read th corresponding register. to reset the interrupt, a write to irqprt0 or 4 is required with the correspondin bit set to 0. the interrupts sources are not prioritised in the ace9050. handling the i 2 c interrupt is covered separately in the i 2 c interface description, section 10. masking interrupts the irqn input to the 6303 is a level sensitive maskable interrupt line. this means that it is possible to enable and disable all interrupts from the ace9050 in the 6303. this is useful to avoid nested interrupt situations. if several interrupts are unmasked in the ace9050, the interrupt handler routine can disable all interrupt when it is dealing with an interrupt via the 6303. if another valid interrupt occurs during this time the irqn line will be driven low by the ace9050. when the irqn is enabled in the 6303 at the end of processing, the first interrupt the 6303 will detect low irqn line and re-enter the interrupt handler routine. this will continue until all pending interrup have been serviced when the irqn line will remain high. if more than one pending interrupt occurs the software can prioritise its response, by the way the interrupt handler is written. the later interrupts must not be cleared in irqprt0, 1, 4 or 5 by the software until they have been serviced. the ace9050 will not detect more that one pending interrupt from a given source, i.e. it will not tell that two irq-ws have been missed, only that an irq-ws interrupt has occured. internal interrupt control port the internal interrupt control port facilitates resetting, masking and reading of seven potential internal interrupt sources via three registers. table 29 describes the possible sources. associated registers (table 30) irqprt0: internal interrupt reset register writing a zero in a data bit of this register will reset the corresponding interrupt source. irqprt1: internal interrupt mask register a write to this register will determine the possible source of interrupts. at reset all interrupts are masked irqprt2: internal interrupt read register a read from this register will determine the interrupts source. bit 7 6 5 3 2 1 0 irq-tx irq-ws irq-bi-sat irq-rx irq-rec irq-send irq-to modem: data transmitted modem: received word synch- ronisation sequence modem: busy idle bit or sat updated modem: rx data registers updated ace serial interface received data ace serial interface sent data time out (ato expired) name description table 29 internal interrrupt sources irqprt0 bit [7: 0] reset name description 0 = reset 1 = no change irqprt1 [7: 0] mask 0 = reset and masked 1 = enabled [7: 5] 4 [3:0] source - source 0 = interrupt 1 = no interrupt should be masked 0 = interrupt 1 = no interrupt irqprt2 table 30
ace9050 22 fig. 16 ace9050 interrupt configuration irqprt4 reset time out irqsend irqreq irqrx irqbisat irqws irqtx 7 latching logic 0 1 2 3 4 5 6 7 irqprt5 mask data bus irqprt2 read and combining logic irqprt0 reset 8 irqprt1 mask data bus 2 latching logic 0 1 irqprt6 read and combining logic port1 input 0 1 2 3 4 5 6 7 data bus i 2 c interrupt irqn inrq0 inrq1 inp1 [2] inp1 [3] inp1 [4] serv txpow ace9050 71 70 52 53 54 74 61 to 6303 84 external interrupt control port the external interrupt control port facilitates resetting, masking and reading of two potential external interrupt sources via three registers. the external interrupt inputs are edge sensitive. table 31 describes the possible sources bit 1 0 inrq1 inrq0 external interrupt 1 (inrq [1]) external interrupt 0 (inrq [0]) name description table 31 external pins inrq0 (pin 71) a rising edge (zero to one transition) on this line will generate an inrq0 interrupt if the associated bit in the mask register is set to 1. the level of this input can also be read via port1 bit 0 regardless of whether an interrupt is generated. inrq1 (pin 70) a rising edge (zero to one transition) on this line will generate an inrq1 interrupt if the associated bit in the mask register is set to 1. the level of this input can also be read via port1 bit 1 regardless of whether an interrupt is generated. associated registers (table 32)bit7: 0 irqprt4: external interrupt reset register. a write to this register will reset the interrupts corresponding to 0 written in the data field. irqprt5: external interrupt mask register. a write to this register will determine the possible source of interrupts. after reset all interrupts are masked. irqprt6: external interrupt read register. a read from this register will determine the interrupts source.
ace9050 23 bit [1: 0] [1: 0] [1: 5] reset mask read name description irqprt4 0 = reset 1 = no change irqprt5 0 = masked 1 = enabled irqprt6 0 = interrupted 1 = not interrupted table 32 out 2[6] (pin 76), out2[7] (pin 79) output pins high current inverting output pins. may be used for led or backlight drivers. their state is set up via out_port2. upon reset out_port 2[7:6] are reset low. due to the inverting nature of the outputs this means out 2[7] and out 2[6] are high. associated registers in_port1: ace9050 input port: read only bit 7 6 5 4 3 2 1 0 powdet serv - inp1 [4] inp1 [3] inp1 [2] inrq1 inrq0 logic level of txpow input pin logic level of serv input pin read back as 0 logic level of inp1 [4] pin logic level of inp1 [3] pin logic level of inp1 [2] pin logic level of inrq1 pin logic level of inrq0 pin name description table 33 bit 7 6 5 4 3 2 1 0 outp2 [7] outp2 [6] outp2 [5] outp2 [4] outp2 [3] outp2 [2] outp2 [1] high current inverting o/p * high current inverting o/p * set to 0: not used set to 0: not used set to 0: not used o/p to multiplexer with pwm2 and latch2) o/p to multiplexer (with pwm1) o/p when cpucl disabled name description out_port2: ace9050 output port: read and write * on reset, these bits are set low and the corresponding output pins driven high. table 34 6. external ports and multiplexer the ace9050 contains 2 external ports, addition to the 6303 port1 and port2 which a described in section 1 ace9050 6303r description. one of the ports is an input register (in_port1), the other an output (out_port2). both are 8-bit, but not all bits are accessible from outside the ace9050. two bits from out_port2 are fed to a multiplexer. this enables multiple functions to share the same external pin, thus reducing the overall pin count. the functions multiplexed with the port are the pulse width modulators and the ace serial interface latch2. selection is made via the ace9050 control port 5. further i/o capability can be obtained by using the keypad interface as standard ports. this is described in the keypad interface section of the data sheet. external pins inputs inrq1, inrq0: external port and interrupt input (pins 70 & 71) the logic level of these external inputs are read via in_ port1[1:0], regardless of whether these inputs are configured to generate interrupts or not. inp1[4], inp1[3], inp1[2]: external port inputs (pins 54,53,52) uncommitted input. the logic level of these pins can be read via in_port1[4:2]. serv : service input (pin 74) the state of the mode select line serv can be read by software via in_port1. the function of serv is described in modes of operation section. txpow: power detect input (pin 61) the txpow input goes to the watchdog and ato block, refer to autonomous timeout section for more details. the state of the input can be read via in_port1. outputs outp2 [0]/cpucl out_port2[0] or cpucl clock (pin 94) when the cpucl clock output is disabled in the clock generator this pin is driven by the out_port2 [0]. refer to clock generator section for details of the cpucl function. outp2 [1]/pwm1 (pin 98) this pin can be either be driven from out_port2[1] or the pulse width modulator 1. the selection is made via port5[0]. outp2 [2]/pwm2/latch2 (pin 81) this pin can be driven from: out_port 2[2], pulse width modulator 2 or ace serial interface latch2. the selection is made via port 5[5:4]. table 36 bit 0 0 1 pulse width modulator 1 out_port2 [1] (reset state) out2 [1]/pwm1 pin function port5 [0]: pwm 1 mux table 35 bit 5 0 0 1 1 outp2 [2]/pwm2/latch2 pin function bit 5 0 1 0 1 out_port2 [2] (reset state) pulse width modulator 2 ace serial interface latch 2 not valid port5 [5:4]: outp2.2_sel
ace9050 24 7. clock generator the ac9050 provides a clock generator with crystal oscillator circuit. this circuit generates all of the chip clock frequencies to which the logic is synchronised. in normal mode all the clocks are generated from one external source. in emulation mode the master clock is the eclk which becomes an input. for amp and tacs mobile handset applications the input frequency must be 8064mhz. in emulation mode an input frequency of 1008mhz, or 2016mhz in turbo mode, is required on the eclk pin. note that, although the ace9050 will operate with lower frequencies, the radio functions such as the modem would not then function correctly in a radio system. the clock generator has a built-in oscillator which requires an external crystal. alternatively, the oscillator can be powered down and either a 800mv peak-to-peak ac-coupled sinewave or a cmos logic level applied to xin may be used. if the ace9030 is being used this provides a suitable output via clk8; ac coupling must be used. the main internal clock (1008mhz) is derived from the cpu clock, or eclk. this can either be 1008 mhz or 2016 mhz in turbo mode. in turbo mode eclk is divided by 2 to generate the main 1008mhz clock. this gives correct functionality when in emulation mode, where the eclk frequency is generated externally. the clock generator produces a clock bus with all of the internal clock frequencies required by the ace9050. various frequencies are also available externally . if an external crystal is used with the crystal oscillator, fig. 17 shows the external components required. careful layout rules should be applied to the external crystal circuit design. these include mounting the components as close as possible to the ace9050 and avoiding running signal lines close to the oscillator circuit. external pins cpucl 8064 mhz output (pin 94) this output is the buffered crystal or clock input frequency. after reset it is disabled, but can be enabled by software. refer to associated registers. c1008 1008 mhz output (pln 90) this output is the main clock divided by eight. it must always be 1008 mhz in a mobile phone application using the ace chipset. it is intended to drive the ace serial interface clock. it is enabled after reset, but can be disabled by software. eclk processor clock (pin 99) this is the processor clock. it is an output in normal mode, but an input in emulation. the frequency is 1008mhz, or 201 6mhz in turbo mode. xin crystal or external source (pin 2) input crystal or external source input. external source must be ac-coupled or cmos levels. xout crystal output (pin 3) if an external crystal is used connect between xin and xout. if an external source is used this output should be left unconnected. associated registers description table 37 8. baud rate generator the baud rate generator provides standard baud rate clocks for the sci in the 6303 block. it is internally connected to the 6303 port2 bit 2. for emulation mode the baud rate generator clock output is available to drive the shadow 6303. the baud rate clock output is 8 times the baud rate. this is the requirement for a standard 6303. baud rates available are shown in table 38. for higher baud rates a 6303 transfer rate can be selected in the trcsr register. as these are referenced to the eclk they will be non-standard rates. external pins baudclk: baud rate clock output. (pin 6) this output is 8 3 the baud rate. it is used in emulation mode only by the shadow 6303. associated registers brg: baud rate select port - write only turbo: port 4 bit 3 0 = 1008mhz (reset state) 1 = 2016mhz (turbo) ensis: port 3 bit 2 0 = cpucl pin: out2 [0] (reset state) 1 = cpucl pin: 8064mhz clkenab: port 5 bit 1 0 = c1008 pin = 0 1 = c1008 pin = 1008mhz (reset state) xosc pd: port 5 bit 6 0 = oscillator active (reset state) 1 = oscillator power down bits [7: 3] xxxx [2: 0] 000 001 010 011 100 description unused 600 baud (reset state) 1200 baud 2400 baud 4800 baud 9600 baud table 38 r1 = 470k w to 1m w c1, c2 = 22pf typical (refer to ac characteristics) x1 r1 c1 c2 xin xout 2 3 fig. 17 external crystal components 9. external reset and watchdog function the ace9050 contains a master reset circuit. upon a reset being applied, all the circuits are reset and the registers put into a known state. these are detailed in tables 8 and 9 for the ace9050 and 6303 registers respectively. the mode selection of the 6303 also occurs automatically upon master reset. an external output (exresn) is also asynchronously driven low. the master reset circuit is activated by one of two means: (a) the external pin mrn (master reset) being driven low. (b) watchdog time out. the watchdog circuit provides an automatic means to reset the processor if it gets stuck in an infinite loop, which would be
ace9050 25 caused by the software code entering an illegal state. this could be due to an incorrect sequence being entered by the user or a glitch on either the data or address bus causing the wrong instruction to be executed. the watchdog is a 4-second counter which is always counting and when it overflows a system reset is generated. this will reset the ace9050 and drive the external reset low for 100ms. it will not reset poffn, so the phone will not turn off. refer to the autonomous time out (ato) section for more details. to prevent the system reset the watchdog counter must be cleared. this will prevent the system reset for 4 seconds. the following actions clear the watchdog counter: 1. in service mode the counter is permanently cleared, preventing the system reset. 2. mrn low clears the watchdog counter. the counter thus starts when mrn goes high. 3. the processor making a write access to the watchdog register. thus in normal operation the software code must be sure to access the watchdog register once every 4 seconds to prevent a reset. external pins mrn master reset (pin 91) this active low input completely resets the ace9050 inte~rated circuit. it prevents the watchdog timer from counting. the ace9050 will be reset for the duration of the mrn pulse plus an additional 100ms. the clock must be running for the device to reset correctly. exresn external reset (pin 89) this active low output is provided for an external reset function. it is active for a minimum of 100ms in the case of a watchdog reset. in the case of a mrn reset exresn will be low for the duration of mrn being low plus an additional 100ms, as shown in fig. 18. devices in an i 2 c system is very simple because they connect directly to the two bus lines: a serial data line (sda) and a serial clock line (scl). a prototype system or final product version can easily be modified by clippinq or unclipping ics to or from the bus. the i 2 c is a reliable, multi-master bus with integrated addressing and data transfer protocols. the multi-master capability of the i 2 c is very important, although many designs do not require it. both lines of the i 2 c bus are connected to a positive supply via a pull-up resistor, and remain high when the bus is not busy. each device is recognised by a unique address, and can operate as either a transmitter or a receiver, depending upon the function of the device. when a data transfer takes place on the bus, a device can either be a master or a slave. the device which initiates the transfer, and generates the clock signals for this transfer, is the master. at that time, any device addressed is considered to be a slave. it is important to note that a master could either be a transmitter or a receiver; a master microcontroller may send data to an eeprom acting as a transmitter, and then interrogate the eeprom for its contents acting as a receiver, in both cases performing as the master initiating the transfer. in the same manner, a slave could be both a receiver and a transmitter. one data bit is transferred during each clock pulse. the data on the sda line must remain stable during the high period of the clock pulse in order to be valid. changes in the data line at this time will be interpreted as control signals. a high to low transition of sda with scl high indicates a start condition, and a low to high transition of sda whilst scl is high defines a stop condition. the bus is considered to be busy after a start condition and free at a certain time interval after a stop condition. these conditions are always generated by the master. each byte is transmitted serially with the msb first. the byte is 8 bits long followed by an acknowledge bit. the clock pulse related to the acknowledge bit is generated by the master. the device acknowledging must pull down the sda line during this clock pulse, whilst the transmitting device releases the sda line (pulled high) during this pulse. a slave receiver must generate an acknowledge after the reception of each byte. if the receiving device cannot receive the data byte immediately, it can force the transmitter to wait by holding the scl line low. each device on the bus has its own unique address. the address of the microcontoller is fully programmable whereas peripheral devices usually have fixed and programmable portions. before any data is transmitted on the bus, the master transmits on the bus the address of the slave to be accessed. the slave should acknowledge the masters addressing. the addressing is done by the first byte transmitted by the master after the start condition. an address on the network is seven bits long, appearing as the most significant bits of the address byte. the last bit is a direction (r/w) bit, with a 0 indicating that the master is transmitting (write) and a 1 indicates that the master is requesting data (read). when an address is sent, each device on the system compares the address with its own. if there is a match the device will consider itself addressed and send an acknowledge. in addition to the above standard addressing, the i 2 c bus protocol allows for general call addressing and interfacing to cbus devices. fig. 19 shows a complete data transfer, comprised of an address byte indicating a write and two data bytes. it also indicates the start and stop conditions . fig. 18 exresn reset mrn i/p 100ms exresn o/p associated registers rewd a write access to this address will clear the watchdog 4- second counter. 10. i 2 c interface general the ace9050 i 2 c provides an interface between an i 2 c bus and a microprocessor. details of the i 2 c bus specification can be found in the philips components technical handbook . the i 2 c bus allows integrated circuits to communicate directly with each other via a bidirectional 2-wire bus. interfacing the
ace9050 26 sda scl address ? ? ? ? r/w ? ack ? ? ? ? ? ? ? data ? ack ? ? ? ? ? ? ? data ? ack d7 d1 d0 d0 1-7 8 9 1-7 8 9 1-7 8 9 stop condition start condition s p d7 d1 fig.19 i 2 c data transfer ace9050 i 2 c the ace9050 i 2 c can operate in one of four modes: 1. master transmit 2. master receive 3. slave transmit 4. slave receive the ace9050 can operate in multi-master systems (where there is more than master on the bus). the ace9050 i 2 c will perform bus arbitration and clock synchronisation. in a mobile handset where the i 2 c is used to interface to a serial prom and/ or an lcd display it would be sufficient to have the ace9050 as the sole master. the i 2 c interface consists of the scl (clock) and sda (data) lines. these are multiplexed with the 6303 bidirectional port1 pins to reduce the overall pin count. selection is made via the ace9050 port5. the internal 6303 microprocessor interface consists of five 8- bit memory mapped registers and a processor interrupt line. the interrupt is connected to the 6303 irqn interrupt, as are the ace9050 internal and external interrupt ports. external pins scl/6303 port 1 [4] (pin 9) bi-directional pin, used for the i 2 c clock when selected. this pin requires an external pull up resistor when used as scl.. the value of the pull up resistor depends on the system and i 2 c bus implementation. refer to the i 2 c bus specification. in a typical system the resistor value would fall between 1k w and 20k w . sda/6303 port 1 [3] (pin 13) bidirectional pin, used for the i 2 c data when selected. this pin requires an external pull up resistor when used as sda. the value of the resistor should be the same as the scl line. associated registers sel_i2c port 5 bit 2 position d7 d6 d5 d4 d3 d2 d1 d0 ien enab sta stp iflg aak - - bit description table 40 interrupt enable bus enable master mode start master mode stop interrupt flag assert acknowledge read back only: 0 read back only: 0 i2c_cntr control register read/write this register is used to control the ace9050 i 2 c. the program can write and read from the register. the hardware can also change the status of the bits in this register (see table 40). note that this register is cleared to 00 h when the i 2 c is reset. ien interrupt enable when ien is set to 1 an interrupt will occur when the iflg bit is set. this will cause an interrupt on the 6303 irq. when ien is cleared to zero the i 2 c interrupt will be disabled. bit 2 sel_i2c 0 = i 2 c reset, p1 [4] and [3] selected 1 = i 2 c operational, scl and sda selected name description table 39 enab bus enable when enab = 1 the ace9050 i 2 c will respond to calls to its slave address (sla6-0) and to the general call address if bit gce in the i2c_addr register is set. sta start master mode when sta = 1 the ace9050 i 2 c enters master mode and will send a start condition on the bus when the bus is free. if the sta bit is set to 1 when already in master mode and one or more bytes have been transmitted then a repeated start condition will be sent. if the sta bit is set to 1 when the ace9050 i 2 c is being accessed in slave mode then the ace9050 i 2 c will complete the data transfer in slave mode and then enter master mode when the bus has been released. after the start condition has been sent this bit will be automatically cleared. stp stop master mode when stp is set to 1 in master mode then a stop condition is transmitted on the i 2 c bus. if the stp bit is set to 1 in slave mode then the ace9050 i 2 c will behave as if a stop condition has been received, but no stop condition will be transmitted on the i 2 c bus. if both sta and stp bits are set the ace9050 i 2 c will first transmit the stop condition (if in master mode) then transmit the start condition. the stp bit is automatically cleared: writing a zero to this bit has no effect. iflg interrupt flag this bit gets set if an interrupt condition occurs in the i 2 c; however an interrupt will only be generated if the interrupt enable (ien) is set. an interrupt condition is defined as one of 26 of the possible 27 ace9050 i 2 c states being entered. the only state that does not set iflg is state f8 h . refer to stat register for more information on the i 2 c states. when iflg is high then the low period of the i 2 c bus clock line, scl, is stretched and the data transfer is suspended. when iflg is reset to zero the interrupt is reset and the i 2 c clock line released.
ace9050 27 aak assert acknowledge. this bit is used to determine whether an acknowledge bit is sent when the i 2 c receives data. it also indicates the last byte to transmit when the i 2 c is in slave transmit mode. aak is set to one: an acknowledge (low level on sda) will be sent during the acknowledge clock pulse on the i 2 c bus when: 1. the slave address has been received. 2. the general call address has been received and the gce bit in the i 2 c addr registers set to one. 3. a data byte has been received in master or slave mode. aak is cleared to zero: when a data byte is received a not acknowledge (high level on sda) will be sent, both in master and slave modes. in the slave transmitter mode then the byte in the i2c_data register is assumed to be the last byte. after this byte has been transmitted the i 2 c will enter state c8 h then return to the idle state. i2c_stat status register read this read only register contains a 5-bit status code, as shown in table 41. bit [7:3] [2:0] status - state code read back as zero name description table 41 there are 27 possible status codes. when i2c_stat contains the status code f8 h no relevant status information is available and the iflg bit in the i2c_cntr register is not set. all other status codes correspond to a defined state of the ace9050 i 2 c. when each of these states is entered the corresponding status code appears in this register and the iflg bit in the i2c_cntr register is set. when the iflg bit is cleared the status code returns to f8 h . the 27 possible status codes shown in table 42 if an illegal condition occurs on the i 2 c bus then the bus error state is entered, status code 00 h . to recover from this state the stp bit in the i2c_cntr register must be set and the iflg bit cleared. the i 2 c will then return to the idle state, no stop condition will be transmitted on the i 2 c bus.. status code (hex) 00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 80 88 90 98 a0 a8 b0 b8 c0 c8 f8 bus error start condition transmitted repeat start condition transmitted address + write bit transmitted, ack received address + write bit transmitted, ack not received data byte transmitted in master mode, ack received data byte transmitted in master mode, ack not received arbitration lost in address or data byte address + read bit transmitted, ack received address + read bit transmitted, ack not transmitted data byte received in master mode, ack transmitted data byte received in master mode, not ack transmitted slave address + write bit received, ack transmitted arbitration lost in address as master, slave address + write bit received, ack transmitted general call address received, ack transmitted arbitration lost in address as master, general call address received, ack transmitted data byte received after slave address received, ack transmitted data byte received after slave address received, not ack transmitted data byte received after general call received, ack transmitted data byte received after general call received, not ack transmitted stop or repeat start condition received in slave mode slave address + read bit received, ack transmitted arbitration lost in address as master, slave address + read bit received, ack transmitted data byte transmitted in slave mode, ack received data byte transmitted in slave mode, ack not received last byte transmitted in slave mode, ack received no relevant status information, iflg =o table 42 possible values of i2c_stat register
ace9050 28 i2c_ccr clock control register: write this register is write only, the seven lsbs control the clock frequency on the i 2 c bus when in master mode. the register is cleared to 0 when the i 2 c is reset. table 43 position d7 d6 d5 d4 d3 d2 d1 d0 bit - m3 m2 m1 m0 n2 n1 n0 the frequency of the scl clock is given by: f scl = 10 3 (m 1 1) 3 2 n f clk where: f scl is the i 2 c bus clock frequency, f clk is 8064 mhz, m is the value stored in ccr d[6: 3] and n is the value stored in ccr d[2:0] i2c_addr slave address: read/write this register sets the slave address of the ace9050 i 2 c. this is only valid when the i 2 c is in slave mode, allowing the system designer to select the required slave address and prevent contentions. the register is cleared to 0 when the ace9050 i 2 c is reset. position d7 d6 d5 d4 d3 d2 d1 d0 description table 44 sla6 sla5 sla4 sla3 sla2 sla1 sla0 gce bit slave address 1st bit slave address 2nd bit slave address 3rd bit slave address 4th bit slave address 5th bit slave address 6th bit slave address 7th bit general call address enable sla6 - sla0 sets the 7-bit address. sla6 corresponds to the first bit received from the i 2 c bus after a start condition. when the ace9050 i 2 c receives this address after a start condition it will enter slave mode. if gce is set to one then the i 2 c will also recogonise the general call address.(00 h ). i2c_data data register: read/write this register contains the data byte to be transmitted or the data byte which has just been received. in transmit mode the byte is sent msb first, in receive mode the first bit received will be in the msb of the register. after each byte is transmitted this register will contain the byte that was actually present on the bus. therefore in the case of lost arbitration this register will contain the received byte. clock synchronisation if another device on the i 2 c bus drives the clock line when the ace9050 i 2 c is in master mode the ace9050 i 2 c will synchronise its clock to the i 2 c bus clock. the high period of the clock will be determined by the device that generates the shortest high clock period. the low period of the clock will be determined by the device that generates the longest low clock period. a slave may stretch the low period of the clock to slow down the bus master. the low period may also be stretched for handshaking purposes. this can be done after each bit transfer or each byte transfer. the ace9050 i 2 c will stretch the clock after each byte transfer until the iflg bit in the i2c_cntr register is cleared. bus arbitration in master mode the ace9050 i 2 c will check that each transmitted logic 1 appears on the i 2 c bus as a logic 1. if another device on the bus overrules and pulls the sda line low arbitration is lost. if arbitration is lost during the transmission of a data byte or a not acknowledged bit is received the ace9050 i 2 c will return to the idle state. if arbitration is lost during the transmission of an address the ace9050 i 2 c will switch to slave mode so that it can recognise its own slave address or the general call address. bus and internal clock speeds the i 2 c bus is defined for bus clock speeds up to 100k bits/ s. the clock speed generated by the ace9050 i 2 c in master mode is determined by the i2c_ccr register. all signals within the ace9050 i 2 c are synchronised to an internal main clock (mclk). the frequency of this clock is given by: bits [7:0] read [7:0] write rxdata txdata data received data to transmit name description table 45 if the ace9050 i 2 c is used in systems where there are other masters on the i 2 c bus then the frequency of mclk should not be less than 500 khz to prevent the ace9050 i 2 c from missing a start condition sent by another master. modes of operation the following section details the operation of the ace9050 i 2 c in the four possible modes of i 2 c transfer, namely: master transmit, master receive, slave transmit and slave receive. master transmit in the master transmit mode the ace9050 i 2 c will transmit a number of bytes to a slave receiver. before the master transmit mode can be entered the i2c_cntr register should be initialised as shown in table 46, where x is either 0 or 1. where: f mclk is the mclk (main clock) clock frequency, f clk is 8064 mhz and m is the value stored in i2c_ccr d[6: 3] f mclk = f clk (m 1 1)
ace9050 29 position state bit if a repeated start condition has been transmitted then the status code will be 10 h instead of 08 h . 2. transmit slave address and write the i2c_data register should now be loaded, with the address of the slave to be written to in bits[7:1] and bit[0] cleared to zero to specify write. the iflg bit should now be cleared to zero before the transfer can continue. when the slave address and write bit have been transmitted and an acknowledqe bit received the iflg will be set again. a number of status codes are now possible in the stat register, as shown in tables 47 and 48. 3. transmit data if the code 18 h or 20 h has been detected in the stat, the next byte to be placed in the i2c_data register is the first data byte, or a word address in the case of some memory devices. the iflg can then be cleared. after each additional data byte has been transmitted the iflg will be set and one of three status codes will be in the start register, as shown in tables 49 and 50. d7 d6 d5 d4 d3 d2 d1 d0 ien enab sta stp iflg aak - - x 1 0 0 0 x 0 0 table 46 1. transmit start condition. the master transmit mode is entered by settinq the sta bit to one. the ace9050 i 2 c will then test the i 2 c bus and will transmit a start condition when the bus is free. when a start condition has been transmitted the iflg bit will be set and the status code in the stat register will be 08 h . transmit data byte,receive ack transmit repeated start transmit stop transmit stop then start as for code 18 h (a) writedata, clear iflg (b) set sta, clear iflg (c) set stp, clear iflg (d) set sta and stp, clear iflg as for code 18 h addr and write transmitted, ack received addr and write transmitted, ack not received 18 h 20 h next i 2 c action micro response ace9050 i 2 c state code (a) clear iflg (b) set sta, clear iflg clear iflg: aak = 0 clear iflg: aak = 1 as for code 68 h write byte to data, clear iflg, aak = 0 write byte to data, clear iflg, aak = 1 38 h 68 h 78 h b0 h next i 2 c action micro response ace9050 i 2 c state code arbitration lost arbitration lost, slave addr and write received: ack transmitted arbitration lost, gca, ack transmitted arbitration lost, slave addr and read received: ack transmitted transmit data byte,receive ack transmit repeated start transmit stop transmit start then stop as for code 28 h (a) write byte to data, clear iflg (b) set sta, clear iflg (c) set stp, clear iflg (d) set sta and stp, clear iflg as for code 28 h data byte transmitted, ack received data byte transmitted, ack not received 28 h 30 h next i 2 c action micro response ace9050 i 2 c state code return to idle transmit start when bus free (a) clear iflg (b) set sta, clear iflg arbitration lost 38 h next i 2 c action micro response ace9050 i 2 c state code table 49 possible status codes after data has been transmitted with the ace9050 as the only bus master table 47 possible status codes after slave address has been transmitted with the ace9050 as the only bus master table 48 possible status codes after slave address has been transmitted with multiple bus masters table 50 possible extra status codes after data has been transmitted with multiple bus masters return to idle. transmit start when bus free. receive data byte, transmit not ack receive data byte, transmit ack as for code 68 h transmit last byte, receive ack transmit data byte, receive ack
ace9050 30 4. transmit stop when all bytes have been transmitted the stp bit should be set. the ace9050 i 2 c will then transmit a stop condition, clear the stp bit and return to the idle state. if the slave receiver cannot receive any more data it must indicate this to the master by generating the not acknowledged condition. master receive in the master receive mode the ace9050 i 2 c will receive a number of bytes from a slave transmitter. the sequence is not dissimilar to that for transmit. for some memory devices a dummy write may be required to transmit the word address before the read operation. before the master receiver mode can be entered the i2c_cntr register should be initialised as for enterinq master transmit mode. 1. transmit start condition the master receive mode is entered by setting the sta bit to one. the ace9050 i 2 c will then test the i 2 c bus and will transmit a start condition when the bus is free. after the start condition has been transmitted the iflg bit will be set and status code 08 h will be in the i2c_stat register. if a repeated start condition has been transmitted then the status code will be 10 h instead of 08 h . 2. transmit slave address and read the i2c_data register should be loaded with the address of the slave in bits[7:1] and bit[0] set to 1 to specify read. the iflg bit should now be cleared to 0 before the transfer can continue. when the slave address and read bit have been transmitted and an acknowledge bit received, the iflg bit will be set again. a number of status codes are possible in the stat register; these are shown in tables 51 and 52. 3. receive data if the code 40 h has been detected it can be assumed that a slave has detected its address and when the iflg is cleared the ace9050 will begin to clock in valid data on the sda line. after each data byte has been received the iflg will be set, and require clearing. one of three status codes wil be in the i2c_stat register, as shown in tables 53 and 54. clear iflg, aak = 0 clear iflg, aak = 1 (a) set sta, clear iflg (b) set stp, clear iflg (b) set sta and stp, clear iflg addr and read transmitted, ack received addr and write transmitted, ack not received 40 h 48 h next i 2 c action micro response ace9050 i 2 c state code receive data byte, transmit not ack receive data byte, transmit ack transmit repeated start transmit stop transmit stop then start table 51 possible status codes after slave address has been transmitted with the ace9050 as the only bus master as for master transmit as for master transmit as for master transmit 38 h 68 h 78 h b0 h next i 2 c action micro response ace9050 i 2 c state code table 52 possible extra status codes after slave address has been transmitted with multiple bus masters data byte received, ack transmitted data byte received, not ack transmitted 50 h 58 h next i 2 c action micro response ace9050 i 2 c state code receivedata byte, transmit not ack receive data byte, transmit ack transmit repeated start transmit stop transmit stop then start read data, clear iflg, aak = 0 read data, clear iflg, aak = 1 (a) read data, set sta, clear iflg (b) read data, set stp, clear iflg (b) read data, set sta and stp, clear iflg table 53 possible status codes after data has been received in multi-master system as for master transmit as for master transmit arbitration lost 38 h next i 2 c action micro response ace9050 i 2 c state code table 54 possible status codes after data has been received in multi-master system
ace9050 31 4. transmit stop when the master has finished receiving data it must signal the end of data to the slave transmitter by generating a not acknowledge on the last byte that was clocked out by the slave. the slave transmitter must release the data line to allow the master to generate the stop condition. when all bytes have been received the i2c_stat register should return a 58 h . the microcontroller is then free to set the stp bit. the ace9050 i 2 cwill transmit a stop condition, clear the stp bit and return to the idle state. slave transmit in the slave transmit mode a number of bytes are transmitted to a master receiver. the slave transmitter has control of the sda line and must ensure the bits are correctly acknowledged. before the slave transmit mode can be entered the cntr register should be initialised as shown in table 55, where x is either 0 or 1. slave receive in the slave receive mode a number of data bytes are received from a master transmitter. before the slave receive mode can be entered the cntr register should be initialised as for slave transmit mode. 1. entering slave receive mode the ace9050 i 2 c will enter slave receive mode when it receives its own slave address (sla6-0) and the write bit (bit = 0) after the start condition. the ace9050 i 2 c will then transmit an acknowledge bit and set the iflg bit in the i2c_cntr register and status code 60 h (slave address 1 write bit received, ack transmitted) will be in the stat register. the ace9050 i 2 c will also enter slave receive mode when it receives the general call address 00 h (if bit gce in the addr register is set). the status code will then be 70 h . slave receive mode can also be entered directly from a master mode if arbitration was lost in master mode during the address byte, and the slave address and write bit or general call address were received. (for the general call condition the gce bit in the i 2 c_addr register must be set to one) the status code in the i2c_stat register will then be 68 h if the slave address was received or 78 h if the general call address was received. the iflg bit must be cleared to zero to allow the data transfer to continue. 2. receiving data if the aak bit in the i2c_cntr register is set to 1 then after each byte is received an acknowledge bit (low level on sda) is transmitted and the iflg bit is set, the i2c_stat register will contain status code 80 h (or 90 h if slave receive mode was entered with the general call address). the received data byte can be read from the i2c_data register and the iflg bit must be cleared to allow the transfer to continue. 3. competing transfer when the stop condition or a repeated start condition is detected after the acknowledge bit, then the iflg bit is set and the i2c_stat register will contain status code a0 h . if the aak bit is cleared to 0 during a transfer then the ace9050 i 2 c will transmit a not acknowledge bit (high level on sda) after the next byte is received, and set the iflg bit. the i2c_stat register will contain status code 88 h (or 98 h if slave receive mode was entered with the general call address). when the iflg bit has been cleared to 0 the ace9050 i 2 c will return to the idle state. position state bit d7 d6 d5 d4 d3 d2 d1 d0 ien enab sta stp iflg aak - - x 1 0 0 0 1 0 0 table 55 1. entering stave transmit mode the ace9050 i 2 c will enter slave transmit mode when it receives its own slave address (sla6-0) and the read bit (bit 0 = 1 ) after a start condition. the ace9050 i 2 c will then transmit an acknowledge bit and set the iflg bit in the i2c_cntr register and status code a8 h (slave address and read bit received, ack transmitted) will be in the i2c_stat register. slave transmit mode can also be entered directly from a master mode if arbitration was lost in master mode during the address byte, and the slave address and read bit were received. the status code in the i2c_stat register will then be b0 h . 2. sending data the data byte to be transmitted should then be loaded into the i2c_data register and the iflg cleared. when the ace9050 i 2 c has transmitted the byte and received an acknowledge the iflg will be set and the stat register will contain b8 h . 3. completing transfer slave termination when the last byte to be transmitted is loaded into the data register the aak bit should be cleared when, or immediately before the iflg is cleared. after that last bit has been transmitted the iflg will be set as usual but the stat should contain c8 h . when this iflg flag is cleared the ace9050 i 2 c will then return to the idle state. the aak bit must be set to one before slave mode can be entered again. 4. master termination if no acknowledge is received after transmitting any byte: the sda line is released to allow the master to generate, the stop condition iflg will be set and the stat register will contain c0 h . when the iflg is cleared the ace9050 i 2 c will return to the idle state. if the stop condition is detected after an acknowledge bit then the ace9050 i 2 c will return to the idle state. radio functions the ace9050 provides the following radio functions, which will typically be required in a mobile phone implementation, all of which are controlled by internal configuration registers: modem and sat management, ace serial interface, ifc counter, 2 pulse width modulators, key pad interface and tone generator. these functions are described in the following sections 1. internal configuration registers the ace9050 contains 3 internal configuration registers. these allow the hardware to be configured via software write instructions. the function of the bits is described in the relevant section in more detail. this section provides an overview of the 3 internal configuration registers.
ace9050 32 associated registers port3 read/write bit name block logic state 0 = no action * 1 = modem fully enabled 0 = latch pulse 3 generated * 1 = latch 3 set to 1 0 = ifc counter reset * 1 = enable ifc counter 0 = poffn set to 0 * 1 = poffn set to 1 0 = active * 1 = sleep 0 = out2 [0] * 1 = 8064mhz clock 0 = no action * 1 = csepn lnactive for address ffff h 0 = 256 period count * 1 = 2432 period count enmod onrad stifc upoffn mdmslp ensis sleep iffreq modem ace serial interface ifc counter ato and watchdog modem clock gen decoder ifc counter 7 6 5 4 3 2 1 0 bit name block logic state sel_i2c clkenab pwm1mux i 2 c clock gen output mux #1 2 1 0 port5 read/write (continued) * reset state in normal mode table 56 0 = i 2 c reset * 1 = i 2 c enabled, scl and sda selected 0 = c1008 low 1 = c1008 enabled * 0 = pwm 1 1 = out_port2 [1] * * reset state in normal mode table 58 (continued) 2. amps/tacs modem and sat controller general description the modem function supports both amps and tacs mobile phone systems. selection is made via software; no external component changes are necessary. the modem provides the following hardware: cpu interface data receiver data transmitter sat decoder sat transmitter the data receiver contains a digital discriminator, data decoder and word sync detector (see fig. 20). the transmitter generates manchester encoded data. the sat receiver measures the incoming sat signal. the sat transmitter can either re- transmit the received sat or generate one of the 3 standard sat tones . external pins afc/rxdata data input (pin 60) data is fed into the digital discriminator via this input pin. the data can be a composite voice, data and sat modulated carrier mixed down to either 54khz or 450 khz. the signal must be of the cmos input levels described in the ac characteristics section. the ace9030 provides such an output on its afcout pin. the ace9030 samples the 450khz if with a 504khz clocked register to produce a 54khz cmos output. txdata transmit data output (pin 63) when enabled this output generates manchester encoded data at the appropriate data rate. this produces a digital output which must be filtered and combined with the other sources of tx modulation. the ace9040 provides these functions via the dati input. rxsat received sat input (pin 51) this input is for the received sat which, must have been filtered to give the appropriate sat tone with cmos level swings. the ace9040 provides the filtering and amplification to provide a suitable signal on the rso output. txsat transmit sat output (pin 62) this output provides a cmos level sat frequency output. the source can either be the received sat, or a totally independent sat tone generated locally in the ace9050. this output which must be filtered and combined with the other source of tx modulation. the ace9040 provides these functions via the tsi input. bit name block logic state 0 = active oscillator * 1 = power down 00 = out2 [2] * 01 = pwm 2 10 = latch 2 - xosc_pd out2.2_sel - not used clock gen output mux #2 not used 7 6 [5:4] 3 port5 read/write table 58 bit name block logic state 0 = active * 1 = sleep 0 = clk sync to data * 1 = clk not sync to data 0 = 1008mhz * 1 = 2016mhz 0 = txsat selected * 1 = rxsat selected 0 = external rom 1 = internal rom * sintslp - - nompll turbo satmux irom - ace serial interface not used not used modem (data clk) cpu clock modem (sat mux) decoder not used 7 6 5 4 3 2 1 0 port4 read/write * reset state in normal mode table 57
ace9050 33 fig.20 amps/tacs modem and sat controller associated registers the modem has 3 dedicated registers for control and data transfer. there are also bits in the general registers port3 and port4 which are used to set up the modem. the bits are described in more detail in the relevant section. mdmslp port3[3] (table 59) this bit determines whether the modem is active or in sleep mode. the modem is put into sleep mode by turning off the clock to the modem and associate circuitry. table 59 mdmslp 0 1 active sleep modem mode enmod port3[7] this bit is used to set up the modem. it must be set to 1 by the software after a reset and before the modem is used. it should then remain at 1. satmux port4[2] (table 60) this bit is used to control the source of the transmitted sat signal. satmux 0 1 locally generated sat rxsat multiplexer output table 60 nompll port4[4] (table 61) in the data decoder the modem uses a locally generated clock to recover the data. nompll selects whether this clock is forced to lock to the extract data clock or not. refer to data decoder section for more detail. nompll 0 1 normal mode: data clock locked to incoming clock free-running: data clock unlocked decoder clock table 61 modprt0 (table 62) this is a dedicated read/write port used for controlling the modem; bit function 0 = reset modem 1 = modem enabled 0 = tacs modem 1 = amps modem [5:4] bits: sat generator 00 = 597khz 01 = 600khz 10 = 603khz 11 = no sat transmitted 0 = tx output disabled 1 = tx output enabled 0 = capture mode 1 = sync mode 0 = word sync disabled 1 = receiver will re-synchronise 0 = control channel 1 = voice channel 7 6 [5: 4] 3 2 1 0 name mdresn a_tn scctx [1:0] enampi syndet enws vc_ccn table 52 table 63 bit function must always be set to 0 0 = tx data not inverted 1 = tx data inverted 0 = rx data not inverted 1 = rx data inverted 0 = discriminator enabled 1 = discriminator bypassed (test) set the squelch threshold level 7 6 5 4 3: 0 name mdmtst txdinv rxdinv lf1_2 sqlev [3: 0] modprt1 this is a dedicated read/write port used for controlling the modem. write (table 63) sat decoder sat transmitter micro data bus and control data receiver word sync det data decoder discriminator data transmitter afc/rxdata rxsat txsat txdata ace9050 demodulator afcin 450khz 504khz ace9030 ace9040 audio 54khz
ace9050 34 modprt1 (continued) read (table 64) bit function not used 0 = busy/idle bit = 0 1 = busy/idle bit = 1 bits [5:4]: sat generator 00 = 597khz 01 = 600khz 10 = 603khz 11 = no sat received number of data bits in a word that have exceeded the pre-set squelch threshold 7 6 [5:4] [3:0] name - b_i sccrx [1:0] sqrx [3:0] table 64 bit function data byte to transmit [7:0] name txd [7:0] table 65 modprt2 this is a read/write port used for data transfer write (table 65) read (table 66) bit function received data byte (note 1) [7:0] name rxd [7:0] note 1.when vc_ccn and enws = 0, busy/idle bits are extracted from the data stream and are not present in rxd. table 66 interrupts the modem has 4 interrupt lines which feed into the internal interrupt control block. the interrupts can be read, reset and individually masked in this block irq-rx bit3 this interrupt is generated every time the data (rxd [7:0]) and squelch values (sqrx [3:0]) are updated. this will be approximately every 800 m s for amps and 1ms for tacs. if busy/ idle bits are extracted, these times will vary by a maximum of one bit period. irq-bi-sat bit5 this interrupt has a dual function, dependent on whether the modem is set up for a control channel or a voice channel. on a control channel the interrupt occurs every time the busy/ idle bit b_i is updated in modport1. this will occur nominally every 1ms in an amps system and 125ms in tacs. on a voice channel this interrupt indicates there is an updated sat value present in sccrx. this will occur every 10 to 12ms. irq-ws bit6 this interrupt occurs every time the 11-bit barker code is detected in the incoming data stream. refer the word sync detector for more details. irq-tx bit7 this interrupt occurs every time the first bit of a byte is transmitted from the modem transmitter. the software must ensure that the data in txd is valid prior this interrupt. when enabled it will generate an interrupt every 800 m s for amps and 1ms for tacs. the data transmission sequence is discussed in more detail in the modem transmitter section. fig. 21 modem discriminator control block the modem can be confiqured for either amps or tacs systems. various clocks and timing blocks are configured depending on whether the data has a 10khz or an 8khz bit rate for amps/tacs respectively. the modem can also be entirely reset under software control. if the modem is not required the clock to the associated circuitry can be stopped, thus reducing the current consumption of the ace9050. discriminator (fig. 21) the discriminator uses a digital delay technique. the incominq signal is first sampled at 504khz. this means the input can either be the 450khz if at cmos levels or the 54khz output from the ace9030; it makes no difference to the operation of the discriminator. modem block descriptions in the ace9030 the signal is initially sampled at 504khz, which is below the nyquist frequency, so effectively a mixing function occurs. 504khz mixed with 450khz gives a frequency component at 54khz. further sampling of the signal at 504khz in the ace9050 then has no effect. the signal is then passed through a delay line of 12 d-type flip-flops, clocked at 504 khz, giving a delay of 238 m s, or 1286 nominal 54khz cycles. the non-delayed and delayed signals are then exored together, which produces a digital version of the analog equivalent fm demodulator: a 90 degree phase shifter and mixer. the ace9030 contains a similar discriminator, optimised for the speech content of the signal. the ace9030 data sheet contains a full description of the operation of such a circuit. d c q q d c q q d c q q d c q q d c q q afc/ rxdata 504khz modprt1 [4]: lf1_2 modprt1 [5]: rxdinv c1008 discriminator enable/bypass rxdata invert/not invert 1 2 11 12 to data decoder 4 2 re-sync
ace9050 35 bit function 0 = discriminator enabled 1 = discriminator bypassed (test) 4 name lf1_2 associated register bits lf1_2 modprt 1[4] (table 67) table 67 for test purposes the discriminator can be bypassed. this is achieved by setting lf1_2. in this case the modem requires 10khz or 8khz manchester encoded data, i.e. the baseband data signal. rxdinv modprt 1[5] (table 68) bit function 0 = rx data not inverted 1 = rx data inverted 5 name rxdinv table 68 the phase of the data from the discriminator is determined by the rf architecture of the receiver. the data can be inverted to cater for both high side and low side vco architectures. data decoder the data decoder is responsible for clock and data extraction from the discriminated baseband manchester encoded data stream. manchester encoded data inherently contains the clock. the data decoder extracts the clock timing from the incoming data stream and regenerates an appropriately phased clock. the circuit then exors the extracted clock with the data. this yields a 1 for the bit period if the data bit is in phase, or a 0 if the data is out of phase. it then samples the output from the exor at 504khz. thus, nominally 504 or 63 samples are taken per bit period for amps or tacs respectively. the data decoder will then decide if the bit is a 1 or a 0, on the state with the highest number of samples. if the number of correct samples is over a certain threshold then a flag is set. the required threshold can be set by software and is referred to as the squelch level. the flag is passed to the word sync detector along with the value of the bit. the data decoder uses a digital transition tracking loop to regenerate the correctly phased clock. a clock at 90 degrees to the data extraction clock and an integrate-and-dump function are used. this 90 degree clock is again exored with the incoming data stream. the result of this is fed into an up/down counter. the output of the counter, along with the bit value, will determine whether the phase of the incoming clock was early or late. the phase of the clock over the next bit period will be altered to pull the clock in the appropriate direction. this process repeats for every bit period. the amount the clock is pulled is determined by the syndet bit. manchester encoded data transitions occur on the bit boundaries as well as in the centre of the bit. this is especially true for a string of 1s or 0s. there is a chance the clock will lock on to these, 180 degrees out of phase. the word structure contains a dotting sequence; this is a 1010 pattern which is devoid of incorrect transitions. the hardware can recognise the error condition during this time and automatically correct the clock phase. bit function 0 = capture mode 1 = sync mode 2 name syndet associated registers syndet modprt 0 [2] (table 69) table 69 the digital tracking loop can be configured in two modes: capture or sync, as detailed in table 70. regenerated clock shift mode tacs (125 m s) amps (100 m s) 0 = capture mode 1 = sync mode 6 4% (12 m s) 6 16% (4 m s) 6 5% (10 m s) 6 1% (2 m s) table 70 in capture mode the regenerated clock is shifted by a greater percentage of the cycle than in sync mode. this will allow the regenerated clock to slip over and then acquire the incoming clock phase faster. for example, to re-acquire phase in the amps system would take around 2ms with good signal levels. in sync mode the regenerated clock is not shifted as much, allowing more accurate data extraction over the bit period. if the regenerated clock becomes out of phase in this mode it will of course take longer to re-acquire the correct phase. for example in the amps system, to re-acquire phase would take around 10ms. the clock rate for the circuit is 504khz, hence the circuit works to a resolution which is a multiple of 2 m s in all cases. in general, the syndet bit should be set to capture mode until the system design is satisfied that the modem is in word sync. then the syndet should be switched to sync mode before data reading begins. nompll nominal pll port 4 [5] the digital tracking loops operation can be turned on or off with the nompll bit, as shown in table 71. 0 1 nompll table 71 data clock synchronising enabled data clock free-running mode the nompll bit will generally be set to 0 to allow normal operation of the digital tracking loop and clock synchronisation circuit. with nompll set to 1 the regenerated clock will not try to lock to the incoming data clock, but will keep its current phase. if there is a short period of time when data is not present it may be advantageous to set the nompll bit. the digital trackinq loop will then be prevented from hunting for a non-existent data clock. when the data then reappears, the regenerated clock should still be in phase and data can be immediately decoded without the need to re-synchronise. this facility is of use in systems where the receiver can power down for short periods of time in standby mode, thus reducing the overall current consumption of the phone unit. sqlev [3: 0] modprt1 [3:0] the software can set a squelch level for the incoming data. this sets the number of samples of a bit that have to be correct for the bit to be approved. the data decoder sets a flag at the end of a bit period if the squelch level has been reached. the word sync detector then sums the number of approved bits that occur in a byte and updates the sqrx register at the same time as the data register. four bits are used to determine the squelch threshold, giving 16 different levels. the number of samples for amps and tacs systems is 50 and 63 respectively. table 72 on the following page shows the number of samples required for a bit to meet the level set, and the percentage of the total number of samples for both amps and tacs settings that this represents.
ace9050 36 sqlev [3:0] samples amps % (50 samples) tacs % (63 samples) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 62 60 58 56 54 52 50 48 46 44 42 40 38 36 34 32 - - - - - - 100 96 92 88 84 80 76 72 68 64 98 95 92 89 86 83 79 76 73 70 67 63 60 57 54 51 table 72 squelch level settings word sync detector the word sync detector contains the hardware to detect the barker code, synchronise the received bytes to the incoming data frame, extract busy/idle bits and update the rxd and sqrx registers. it also generates the irq-ws, irq-rx and irq-bi-sat interrupts. the hardware has four modes of operation which can be selected by software. the barker code sequence is used for achieving frame synchronisation to the incoming data word boundaries. it occurs in a message after the dotting sequence and before the first data word. the hardware detection circuit is an 11-bit serial shift register with appropriate asynchronous decode logic to detect the barker code (11100010010). the action upon detecting word sync depends on the mode of the hardware. the word sync detector contains a parallel register, into which the incoming data, rxd, is clocked. when the hardware is in the appropriate mode the busy/idle bits are removed from the data sequence before being fed to the data receive (rxd) register. the word sync detector also tallies the number of times the squelch level flag is set for an eight-bit byte and stores this in the sqrx register. the word sync detector contains byte and frame counters which generate the irq-rx interrupt when the data and squelch registers are updated. the software must ensure these registers are read within the suitable time frame after irq-ws to avoid losing data. associated registers vc_ccn voice/control channel modprt0 bit0 (table 73) this bit allows the software to control the mode of the word sync detector between control channel and voice channel. it also operates in conjunction with the enws bit; vc_ccn must be set to reflect the category of the current channel. enws enable word sync modprt 0 [1] (table 74) this bit allows the software to control the mode of the word sync detector between sync on barker and not sync on barker. it also operates in conjunction with the vc_ccn bit. vc_ccn 0 1 control channel voice channel mode table 73 enws 0 1 description data will not reframe if a barker code is detected data will reframe if a barker code is detected note: regardless of the setting of enws the irq-ws will be generated on detection of a barker code. table 74 rxd[7:0] modprt2 read (table 75) this register contains the data from a forward channel (fvc or focc) segmented into 8-bit chunks. bit 7: 0 rxd[7:0] data byte received name function table 75 the first bit received goes to the most significant bit of the register. on a control channel the busy/idle bits can be extracted. all other data on the control channel and all data on the voice channel will be present in the registers. this includes the dotting and barker sequences. the irq-rx interrupt occurs when the registers have been updated. sqrx[3:0] modprt1[3:0] read (table 76) these four bits contain the number of bits in the present received byte that have surpassed the squelch threshold set. it will thus contain a number between 0 and 8. this register is updated at the same time as the rxd register. sqrx [3:0] number of bits surpassing squelch level 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 to 1111 0 1 2 3 4 5 6 7 8 not valid table 76 possible squelch readings b_i modprt1[6] read (table 77) this bit is the extracted busy/idle bit from a control channel data stream. note that an irq-bi-sat interrupt occurs when this bit is updated. b_i 0 1 0 1 busy/idle bit table 77 modes of operation the word sync detector has four modes of operation. the modes affect how busy/idle bits a handled, the function of the irq-bi-sat interrupt and the action of the word sync detector upon finding a barker code in the incoming data stream. the modes are selected via the vc_ccn and enws bits, as shown in table 78.
ace9050 37 vc_ccn mode enws description data reframe = disabled irq-bi-sat = busy/idle busy/idle bits extracted data reframe = enabled irq-bi-sat = not valid busy/idle bits not extracted data reframe = disabled irq-bi-sat = sat update data reframe = enabled irq-bi-sat = sat update control channel syncronised control channel unsynchronised voice channel voice channel 0 0 1 1 0 1 0 1 table 78 control channel when on a control channel the software must decide when to switch between the synchronised and unsynchronised modes. the modem does not give any direct indication that bit synchronisation has been achieved; however, the irq-ws provides indication that a barker code has been detected. the system designer can look for the irq-ws being generated regularly in a suitable time window corresponding to the frame time, rssi levels and squelch levels, before determining the modem is in synchronisation. once the software has determined that the modem is in synchronisation the enws bit must to be set to zero. the word sync detector will then remove the busy/idle bits from the incoming data stream and not re-synchronise on barker codes. the software must disable enws before the first busy/idle bit occurs after the barker code in the control channel frame. the time for this is 1ms on amps or 125ms on tacs systems. the software does not then have to re-enable enws unless synchronisation is lost. as the number of bits in a frame is not divisible by eight the word sync detector circuit uses frame counters to realign the data on subsequent frames instead of barker codes. this ensures spurious barker codes occurring in the data do not upset the synchronisation of the modem. due to this action barker codes will appear distorted when read in the rxd registers. the dotting and barker code will appear as the following three consecutive bytes: aa h , b8 h and 12 h . once in synchronisation, the software must ensure that the irq-ws still occur within the time window set up. if a number of irq-ws are missed, the software must assume the modem has become unsynchronised and take appropriate action. it is up to the system designer to decide on the threshold for the number of irq-ws dropped, or any other type of software averaging . table 79 shows a typical sequence for locking onto data when on a control channel. voice channel data is not a continuous stream on a voice channel, as on a control channel. the data sequence also does not contain busy/ idle bits. the software designer has to determine when valid data is present on the voice channel. the irq-ws interrupt timinq cannot be used for this purpose, as the data stream is not continuous. also irq-ws interrupts will occur sporadically, even when no data is present, due to the probability of an incoming signal beinq decoded as a valid barker code. the voice channel data sequence begins with a long dottinq sequence. the software can monitor the data present in the rxd registers, and when these reliably yield a pattern of aa h or 55 h it can be assumed a data sequence is beinq transmitted. the software should then ensure an irq-ws occurs to indicate valid data is beinq received. other system parameters such as rssi, rx audio level and sat can also be measured by the software. enws may be left enabled, or disabled after synchronisation. as there are no busy/idle bits and the frame is divisible by eight it is not critical to the hardware operation. data transmitter the modem transmitter is considerably simpler than the receiver. it contains a data register for writing data 8 bits at a time and manchester encoding circuitry. it also contains timing and interrupt circuitry. data to be transmitted is written one byte at a time to txd[7:0]. this data is then transmitted on the next irq-tx interrupt, if the output is enabled. bit 7 (most significant) is transmitted first. the data transmitter generates the irq-tx interrupts at the correct rate for the chosen system (800 m s for amps or 1000 m s for tacs) regardless of whether the transmitter is enabled or not. the transmitter encodes the data into manchester format before transmission. this is achieved by description function enmod = 1 mdmslp = 0 mdmresn = 1 lf1_2 = 0 rxdinv = setup to system nompll = 0 sqlev[3:0] = set as required a_tn = set as required disable all modem interrupts vc_ccn = 0 syndet = 0 enws = 1 enable irq-ws interrupt ensure the irq-ws interrupts are occurring in the correct time window. it is up to the system designer to determine the exact criteria. when this occurs set: enws = 0 within 1ms syndet = 1 enable irq-rx interrupt within 800 m s. read and squelch on interrupt ensure irq-ws occurs in correct time window. the data registers should contain aa h , b8 h & 12 h at the end of a frame. 1 2 2 5 6 7 8 set up initialise acquire verify lock read data check table 79 data sychronisation and acquisition sequence
ace9050 38 txdata 8-bit shift register load data 7:0 c q7 txdatin modprt1 enampi modprt0 txd register irqtx data bus amps 100 m s tacs 125 m s clock fig. 22 modem transmitter block diagram write 1st data byte to txd register enable enampi (1st data byte transmitted) write 2nd data byte to txd write 3rd data byte to txd (2nd data byte transmitted) write last data byte to txd (last C 1 data byte transmitted) last data byte transmitted irqtx irqtx irqtx irqtx irqtx irqtx irqtx enable interrupt disable enampi fig. 23 modem transmission sequence generating a square wave at the bit rate and exoring the generated clock with the relevant bit, for the bit period. the output can then be inverted, if this is required by the system designer. a block diagram is shown in fig. 22. no data manipulation is made by the encoder hardware. the software must generate the dotting and word sync patterns and the bch coding. if the transmitter is enabled the contents of the txd register will be transmitted on an irq-tx interrupt, regardless of whether this register has been updated. this enables the generation of an st tone with no overhead on the processor, other than timing the required duration. the software must simply write ff h or 00 h to the txd. associated registers (tables 80, 81 and 82) modprt2 this is a read/write port used for data transfer write enampi modprt 0 bit 3 bit 0 1 tx output disabled tx output enabled function bit 7:0 txd[7:0] data byte to transmit (bit 7 transmitted first) name function table 80 txdinv modprt 1 bit 6 bit 0 1 true data output inverse data output function table 81 table 82 data transmission sequence table 83 and fig. 23 describe the correct sequence for transmitting a data message. note that in the 5th step (set enampi high quickly) the latency between the irq-tx and setting enampi will cause part of the first byte not to be transmitted. this byte will always be part of a dotting sequence, so this will not cause a degradation in data, however it is desirable to reduce this time to a minimum. step 1 2 3 4 5 6 7 8 9 10 11 12 enable irq-tx interrupt wait for irq-tx interrupt write data byte to txd wait for irq-tx interrupt set enampi high quickly write data byte to txd wait for irq-tx interrupt repeat steps 6 and 7 until last byte write last byte wait for irq-tx interrupt wait for irq-tx interrupt disable enampi action table 83 modem transmission sequence sat management the sat management circuitry consists of a sat detector, sat generator and a multiplexer. refer to the external pins section of the general description for details of the two external pins: rxsat and txsat . sat detector the sat detector measures the frequency of the signal on rxsat input. when the modem is configured for a voice channel (vc_ccn high) a sat measurement will occur every 10 to 12 ms. the sat receiver measures the duration of 64 sat cycles and depending on the result determines the sat value.
ace9050 39 further software filtering may be required. the result of the measurement will reside in modprt1 bits 5 and 6. if the irq- bi-sat interrupt is not masked an irq-bl-sat interrupt will occur at the end of each measurement period, after the modprt1 has been updated. associated register sccrx [1:0] modprt1 [5:4] read sccrx [1:0] 00 01 10 11 5955-5984 5985-6014 6015-6045 < 5955 > 6045 limits (hz) sat tone (hz) 5970 6000 6030 no sat table 84 sat transmitter the ace9050 has an on-chip sat generator which can generate 597khz, 6khz, or 603 khz signals. the selection is made via bits scctx [1:0] in modprt0. alternatively the received sat can be looped around and re-transmitted. the ace9050 provides a multiplexer so either source can be selected under software control via the satmux bit in port4. the generator circuit consists of a series of preset counters running from the system clock. the ace9050 makes no allowance for varying the phase of the regenerated sat tone as this not a requirement for current amps or tacs protocols. when the received sat is looped around the ace9050 only buffers the incoming sat signal on rxsat before feeding it to the txsat output pin. associated registers scctx[1:01 modprt0 [5:4] write scctx [1:0] 00 01 10 11 generated sat tone (hz) 5970 6000 6030 no sat generated table 85 satmux port 4[2] satmux 0 1 internally generated sat rx sat tx sat source table 86 the buses can be used for data transfer between any ics that have the appropriate interface logic; however, in a system using the ace chips the following words are valid on the acebus: ace9030 sleep word normal (adc values read) set-up synth word a synth word b synth word c synth word d synth dummy word (low noise mode) ace9040 operating mode initialising mode 0 initialising mode 1 handsfree for more information refer to the ace9030 and ace9040 data sheets. the acebus consists of a 1008mhz clock, a bidirectional data line and 4 latch outputs. the clock and data lines are common, while the latch outputs are connected as follows: latch 0: control (ace9040, len) latch 1: radio interface section (ace9030, latchb) latch 2: internally connected to mux #2 latch 3: synthesiser section (ace9030, latchc) valid data is transmitted in a stream of 24 continuous bits. at the end of the last bit the relevant latch is activated. this will latch the data into the target device. the data line will become tristate after the data transfer so that data may be received from a bus driver. the block contains eight ace9050 registers. three are for serial data transmit, three for receive and two are for bus control. the block also contains interrupt generating circuitry. the synthbus contains a data line synthdata, clock line synthclk and associated latch2, which is multiplexed with out2[2] and pwm2. the clock to ace serial interface block can be disabled to reduce the overall power consumption of the ace9050. turning off this clock will disable the ace serial interface but will not turn off the c1008 clock. external pins 3. ace serial interface block general description the ace serial interface contains two serial interfaces: the acebus and the synthbus. the acebus is used to distribute data to and from ics in the ace chipset. the synthbus is redundant when using the ace chipset. the ace9050 contains the master transmitter/receiver unit for the acebus. the ace9040 and ace9030 contain slave units. the bus is used for programming the devices into the required state. this will be required when the phone is powered up, and during phone operation. the ace9030 can also transmit adcs values to the ace9050 on the acebus. c1008 (pin 90) refer to clock generator section. this clock is used for data transfer. in the ace9030 and ace9040 it is also used for clocking other functions so care must be exercised in turning this clock off. dtfg (pin 82) bidirectional data line. the ace9050 clocks out data loaded into the 3 registers. data is clocked in and out of the ace9050 on the falling edge of c1008. latch 0 (pin 80) latch pulse used to target data transfer. in a system using the ace chip set latch0 is connected to the len input of the ace9040. the latch is nominally a 500ns pulse. latch 1 (pin 78) latch pulse used to target data transfer. in a system using the ace chip set latch1 is connected the ace9030 radio interface (latchb). the latch is nominally a 500ns pulse. latch 3 (pin 75) latch pulse used to target data transfer and optimise the performance of the synthesiser. in a system using the ace chip
ace9050 40 set latch3 is connected to the latchc input of the ace9030 synthesiser. the lenqth of the latch can be varied and the latch can be set permanently high. latch 3 can be used with the synthbus, but is fixed at 500ns. synthcl (pin 73) synthbus clock line at nominally 126khz. this is not a continuous clock. it is only activated when data transfer is required. synthdat (pin 72) synthbus data line. contains valid data from the ace9050, or is set to zero. transmitter section the transmitter consists of five write registers, interrupt and latch generating logic, clock divider and timer, and three shift registers connected in series. these form the 24-bit message that is sent out on dtfg. the most significant bit of lsicom 0 is transmitted first (refer to fig. 7). associated registers write register lsicom 0 lsicom 1 lsicom 2 first byte to transmit second byte to transmit third byte to transmit description bits 7:0 7:0 7:0 table 87 sintsleep port 4 [7] bit function 0 = ace serial interface enabled 1 = ace serial interface powered down 7 name sintsleep table 88 str_width write the pulse width of latch 3 is programmable between 992 m s and 126ms, with 992 m s increments. this register only works with the acebus, not the synthbus. description bits table 89 lsicom 3 write this register is the control register. this is used to define the mode of the data transfer, select which latch to activate and also is used to initiate the transfer. bit name function 6:0 pulse duration in increments of 100 c1008 periods. this register is decremented when a pulse is generated. writing a value of 0 in this register terminates the pulse. 0 = no data transfer 1 = begin data transfer must be 1 0 = no answer request 1 = answer request must be 0 go cl ans not used 7 6 5 4 receiving data in order to receive, lsicom 3[5] (ans) must be set. after the transmission sequence, data on the dtfg line is clocked into the receiver on the falling edge of c1008. this process begins on the fifth negative clock edge after the latch pulse, to allow a response time from the slave (fig. 8). after 24 clock cycles the complete word will have been clocked into the ace9050. the data in the shift registers is latched into the three read registers. at the same time the irq- rec interrupt is generated. the irq-send interrupt is generated in the receive sequence with the relevant latch in the same way as for a transmit only sequence. receiver section the receiver consists of three serial registers which can be read via lsicom 4, 5 and 6. it also contains a counter, clocking and interrupt generating circuitry. associated registers read register lsicom 4 lsicom 5 lsicom 6 first byte received (ace9030 preamble) second byte received (ace9030 result 1) third byte received (ace9030 result 2) description bits 7:0 7:0 7:0 table 92 sending data to begin the transmitting sequence the appropriate word has to be written to lsicom 3. if a latch 3 is required for the acebus a non-zero value must be written to str_width prior to writing the control word in lsicom 3. when lsicom 3[7] (go) is set, the clock to the serial shift registers is enabled. data from lsicom 0, 1 and 2 are clocked out on the falling edge of c1008. after the 24 data bits have been clocked out, the appropriate latch is generated on the next fallinq edge of c1008. at the same time as the latch the irq-send interrupt is generated internally. this is fed to the interrupt control block where it can be masked. the lsicom 3 will then be reset, so as to be ready for the next data transfer. table 90 valid bit fields for acebus data transfer bit name function must be 0 must be 0 latch 1 enabled for data transfer latch 0 enabled for data transfer not used not used latch 1 latch 0 3 2 1 0 table 90 (continued) bit name function 0 = no data transfer 1 = begin data transfer must be 0 must be 0 must be 0 latch 3 enabled for data transfer latch 2 enabled for data transfer must be 0 must be 0 go cl not used not used latch 3 latch 2 not used not used 7 6 5 4 3 2 1 0 table 91 valid bit fields for synthbus lsicom 3 (continued)
ace9050 41 programming programming constraints the programming of the interface is relatively straightforward when used with the ace chipset. however, the following constraints apply: (a) to activate a latch 3 transfer on the acebus, the str_width register must be written to with a non-zero value prior to writing to lsicom3 [7] (go) set. (b) after writing to lsicom3 with the go bit set, registers lsicom0 to 3 must not be written for 25 m s or until an irq- send interrupt has been generated. (c) after writing to lsicom3 with the go and ans bits set, lsicom0 to 3 must not be written to until 6 clock cycles after an irq-send. lsicom3 cannot be written to with bit 7 (go) set until 55 m s or the irq-rec interrupt has been generated. this is because the dtfg will contain the slave data until this time. (d) a value greater than 0 must not be written to the str_width register preceding a latch0, 1, 2 transfer or a latch3 transfer with the synthbus. (e) the acebus and the synthbus cannot be used simultaneously. programming sequences acebus transfers latch 0 data transfer (1) write data to lsicom0,1 and 2 (2) write to lsicom3 control word: (3) service irq-send interrupt if enabled latch 1 data transfer (a) without answer request (1) write data to lsicom0, 1 and 2 (2) write lsicom3 control word: go 1 cl 1 ans 0000 l1 0 l0 1 go 1 cl 1 ans 0000 l1 1 l0 0 (3) service irq-send interrupt if enabled (b) with answer request (1) write data to lsicom 0, 1 and 2 (2) write lsicom 3 control word: go 1 cl 1 ans 1000 l1 1 l0 0 (3) service irq-send interrupt if enabled (4) wait for irq-rec interrupt (5) read data from lsicom 4, 5 and 6 latch 3 data transfer (acebus) (1) write data to lsicom 0 to 2 (2) write strobe width to str_width(non-zero value) (3) write lsicom 3 control word: go 1 cl 1 ans 0000 l1 0 l0 0 (4) service irq-send interrupt if enabled the strobe width will be a minimum of 100 m s, however data can be transmitted to the other slave units during the latch3 high time. alternatively the latch3 may be terminated prematurely by writing 0 into the str_width register. this may only be done after the irq-send interrupt, to ensure the latch is not terminated prematurely. the onrad bit (port 3 [6]) can be used to keep the latch 3 line high. care must be taken when enabling latch3 in this way so that spurious data is not clocked into the synthesiser. by setting the str_width register to a suitably large value and enabling onrad before the str_width time expires, the latch 3 line can be permanently asserted. the str_width time begins when the data transfer has completed. synthbus transfers latch 3 data transfer (1) write data to lsicom 0 to 2 (2) write lsicom3 control word: go 1 cl 0 ans 001 l2 00 0 l3 (3) service irq-send interrupt if enabled latch 2 data transfer (1) write data to lsicom 0 to 2 (2) write lsicom 3 control word: go 1 cl 0 ans 000 l2 10 0 l3 (3) service irq-send interrupt if enabled 4. ifc counter the ifc counter is used as part of the automatic frequency compensation loop, in conjunction with 6303 timer. the ifc counts a predetermined number of periods of the afc_in/ rxdata signal. by timing this duration the frequency of the input can be determined. in a system using the ace chipset this input frequency will be 54khz. the number of periods counted can be either 256 or 2432. this will give measurement times over a period of approximately 5ms or 45ms when using the ace chipset. other input frequencies are possible, but would give different time periods and thus accuracy could be affected. external signals afc/rxdata input (pin 60) this signal also feeds to the amps/tacs modem. this pin can be directly connected to the afcout pin of the ace9030, when this device is being used. icn output (pin 77) this output is used in emulation mode only. it is output of the ifc counter, which should be connect to the emulator 6303 port2 [0]. it is internally connected to the ace9050 6303. associated registers register description bit stifcn port 3 [5] iffreq p0rt 3 [0] reset counter * enable counter 2432 counts 256 counts 0 1 0 1 * the counter must be reset before it can be enabled table 93
ace9050 42 tcsr 6303 timer control status register register used to control and read the status of th 6303 timer block. refer to 6303 processor unit section of hitachi or motorola data book for full details . icr 6303 input capture register 16 bit read only register used to hold the value of the free running counter captured when the proper transition of the icn input occurred. refer to 6303 processor unit section or hitachi or motorola data book for full details. detailed operation once the ifc counter is set the next rising edge of the afc/ rxdata input pin will generate a negative transition on icn. the ifc counter will then count the required number of transitions and create a positive edge on icn at the end of the count period. the program has to control the 6303 timer in such a way that first the negative and then the positive transition of icn is captured. the software can then calculate the difference between the two readings, which will give the elapsed time. programming example initialise (a) set iffreq to the determine the required count (b) reset stifcn bit. this bit is reset by a hardware reset or by writing 0. it is not reset by the counter finishing execution. (c) ensure the 6303 tcsr register is configured so as to capture a falling edge on icn. begin count (a) write 1 to stifcn (b) read the icr after the negative transition on icn (c) set tcsr register so as to capture a rising edge on icn (within 5 or 45 ms) end of count (a) when a capture has occurred the icr register can be read. calculate from the difference between the two icr values captured, the elapsed time for the count period can be calculated. it is then possible to estimate the offset of the system crystal and cancel out this error using the ace9030 dacs. if the crystal is off frequency it will have little effect on the timer accuracy. it will however affect the main synthesiser as the error is multiplied by the divider ratio set in the main synthesiser. the absolute error is then mixed down to appear on the 54khz directly. 5. pulse width modulator two pulse width modulators are available in the ace9050. these provide cmos type outputs whose average high time can be set by software. external components can be used to filter the output and give a mean dc level. the values chosen for these components depend on the ripple and response time required in the application. typical applications for such outputs are lcd contrast control and battery charging control. the pwm outputs are fed to output multiplexers; the corresponding external pin function is selected by software. the pwm circuits are designed to minimise the low frequency components of the output wave form. the pwm works on a 254 m s cycle time, with 0992 m s pulse duration. the number of pulses is programmed using the appropriate register. the hardware ensures that the pulses are distributed as evenly as possible within a cycle. this is shown in fig. 24 for some simple programming examples. with suitable external components the following formula can be used to obtain the mean dc level of a pwm output: v mean = (dac[7:0] 4 256) 3 v dd external pins out2[1]/pwm1 output (pin 98) selection for the source for this pin is made via the pwmlmux bit in port5. this pin is also described in the external ports and multiplexer section. out[2]/pwm2/latch[2] output (pin 81) selection for the source for this pin is made via the out2.2_sel bits in port5. this pin is also described in the external ports and multiplexer section. associated registers write register dac1 port dac2 port number of output pulses in a cycle period number of output pulses in a cycle period description bits 7:0 7:0 table 94 fig. 24 pulse width generator output number loaded 32 64 128 1008 mhz clock
ace9050 43 port5 read/write (note 1) bits 5:4 0 out2.2_sel pwm1mux 00 = out_port2[2] (note 2) 01 = pwm2 10 = latch 2 11 = not valid 0 = pwm1 1 = out_port2[1] (note 2) name description notes 1. these register bits are also described in the external ports and multiplexer section. 2. reset state. table 95 6. beep alarm ring (bar) tone generator the ace9050 provides a beep alarm and ring tone generator unit. this provides a digital output pulse train. the high and low time can be programmed with software. it is thus possible to vary the output tone frequency, period and volume. the pulse train can also be disabled whereupon the output will be set low. within the system this output can be used to control a buzzer driver. external pin bar output (pin 96) cmos output which is determined by the state of the registers in the bar block (barhigh, barlow and barenable). associated registers write register barhigh barlow barenable bar on time bar off time 0 = bar output low 1 = bar output pulsing description bits 7:0 7:0 0 table 96 programming the two programmable 8-bit registers determine the on and off times in steps of approximately 8 m s (79 m s). the maximum on and off times are approximately 2ms each (202ms). the following formula is used to calculate the actual times: bar on time = (256 2 barhigh[7:0]) 3 793 m s bar off time = (256 2 barlow[7:0]) 3 793 m s 7. keypad interface and chip identity the keyboard interface consists of a 5-bit output port, a 4-bit input port and associated registers to read, write and configure the ports (see fig. 25). alternatively these ports can be used for general i/o. the output port drive configuration can be set via software to provide the system designer with full flexibility. the port has tristate output buffers, controlled by the kpot register. by programming keyp and kpot appropriately the outputs can be configured to drive in the following ways: high impedance driving logic output (high or low) open drain open source. [3:0] kpi inputs keyp write keyp read 5 5 [7:4] ident 5 4 kpot data bus data bus kpo [4:0] kpi [ 3:0] 59-55 66-69 010 fig. 25 keyport configuration output port the output port has five individual outputs, which can be used as scanning outputs connected to a keyboard matrix, or can be used for other general purposes . external pins kp0[4: 0] outputs (pins 59: 55) the state of these outputs are defined by the respective bits in the internal registers keyp and kpot. associated registers keyp write keypad output port register description bits 4:0 table 97 kpot write output port driver configuration description bits 4:0 0 = output driven to level set by relevant keyp bit 1 = output tristate sets or clears associated bit in output port register table 98 programming examples the following bit patterns thus yield the following output configurations: kpot output description logic drive logic drive open drain open drain open source open source high impedance 0 0 0 1 0 1 1 0 1 0 z 1 z z 0 1 0 0 1 1 x table 99 keyp write
ace9050 44 input port the keyboard interface has four inputs. these inputs can also be used as general inputs. the upper four bits of this port are hard wired and provide a means of identifying the present variant of the ace9050. external pins kpi[3:0] 4-bit input port (pins 66 to 69) the state of this input port can be obtained by reading the respective bits in the internal register keyp. associated registers keyp [7:0] read keypad input port register description level 0 1 receive signal absent receive signal present table 102 a typical source for the receive signal strength would be the rssi output from the if strip. however this will need to be compared to a predefined level and the logical output fed to the ace9050. the ace9030 provides an adc, programmable threshold register and comparator for this purpose via rxcd. txpow tx power level input (pin 61) digital input to monitor the presence of a transmitted signal, as shown in table 103. description level 0 1 transmit signal absent transmit signal present table 103 a typical source for the transmit signal presence would be a detector in the tx path. however this will need to be compared to a predefined level and the logical output fed to the ace9050. the ace9030 provides two op amps that may be used for this purpose. one may be used as a buffer/amp and the other as a comparator in conjunction with a dac, which is also on the ace9030. the level of txpow can be directly determined via in port1[7], powdet. poffn power off output (pin 85) this pin is intended to be used to control external power regulators for the phone. it is reset low by an mrn reset. the software and the ato then control the state of poffn: the software can set the state of poffn directly via port 3[4]. the ato reset can only drive poffn output low. poffn is not cleared by a watchdog reset, so that this type of reset will not power down the phone. when in service mode the ato reset is disabled and the irom code sets poffn to logic 1. associated registers resato reset ato: write description bits [7:4] [3:0] chip identity code (see table 101) reads the level of the associated input on kpi [3:0] table 100 identity code description bits 7 6 5 4 read back 0 read back 0 read back1 read back 0 table 101 bit - description write access resets the 30s ato timer. table 104 bit 4 upoffn 0 = poffn output set low 1 = poffn output set high name table 105 description upoffn port 3 bit 4 of this register sets the state of the poffn output, as shown in table 105. 8. autonomous timeout (ato) the autonomous time out circuit (ato) is provided to facilitate an automatic power down of the phone in the event of the phone entering an illegal transmitting state. the ato block requires external functions to implement its intended operation. the ato monitors the status of the rxcd and txpow inputs; in a typical system these will indicate the presence of received and transmitted signals, respectively. if a transmitted signal is detected, without the presence of a received signal the ato circuitry can change the state of the output pin, poffn. this should be used to remove power from the phone system via external power control circuitry. the main block in the ato is a 30-second counter. it is reset by an accepted processor write to the resato register. the state of the external inputs rxcd and txpow determine whether the processor access is accepted. if the processor does not attempt to access the register, or access is blocked for a period of 30 seconds, the ato timer expires and an ato reset occurs. external pins rxcd receive path carrier detect input (pin 100) digital input to indicate the presence of a carrier in the receiver part of the radio as shown in table 102.
ace9050 45 block descriptions ato timer the ato timer is a 30 second resetable counter. if the ato counter reaches 30 seconds, an ato reset is generated. the counter is reset by the following actions: (a) external mrn reset (b) accepted processor write to the resato register the levels of the two external signals rxcd (pin 100) and txpow (pin 61) are used to determine whether a processor write to resato is accepted or not, as shown in table 106. rxcd 0 0 1 1 accepted denied accepted accepted resato access txpow 0 1 0 1 note: the cpu cannot tell whether a hardware access has been accepted or not. table 106 the rxcd input is filtered prior to use in the ato timer logic by the rxcd filter. the ato timer is not reset by watchdog reset. ato reset when the at0 times out the ato reset circuit is trigered and the following occurs: (a) a time out interrupt is generated. (b) if the poffn is high it will be driven low. the time out interrupt is generated at least 1 second before the poffn is driven low. this is to give the processor time to clean up before power is removed. the processor cannot prevent the ato reset at this stage. the ace9050 design assumes that the ato reset will remove power from the phone system. if the system is designed in such away that power is not removed from the ace9050 the poffn pin is only guaranteed to stay low for approximately 1 second. the state of the internal circuitry is not guaranteed after an ato reset. rxcd filter the purpose of the filter is to smooth out short glitches in the rxcd input. the filter waits for 1 second of rxcd becoming high before the filter output is asserted. once the output has been asserted for more than 1 second, if the rxcd goes low for more that 1 second the filter output will go low. the filter hardware consists of a 10-bit up-down counter clocked at 492hz. if the rxcd input is high the counter increments. if it is low the counter decrements. thus, assuming the counter begins at zero, with a fixed high on the rxcd the counters msb will assert after 1 second and will overflow after approximately 2 seconds. when the counter overflows and rxcd is high it will continue to hold the maximum count value and conversely, when it reaches zero and rxcd is low, it will contain zero. the msb of the counter is the filter output which is fed to the ato. programming guide although the processor only needs to access the ato register once every 30 seconds to prevent the reset, the access should occur more frequently. this would ensure a spurious error condition unfortunately timed would not cause an ato turn- off. servicing the ato with the watchdog would be the sensible approach.
ace9050 46 level of txpow pin level of serv pin read back 0 level of inp1 [4] pin level of inp1 [3] pin level of inp1 [2] pin level of inrq [1] pin (interrupt or inp1 [1]) level of inrq [0] pin (interrupt or inp1 [0]) programmers guide to control ports and registers in_port 1 external inputs read bit name description powdet serv 0 inp1 [4] inp1 [3] inp1 [2] inrq [1] inrq [0] 7 6 5 4 3 2 1 0 table 107 port 4 ace9050 configuration read/write bit name description 0 = ace serial interface active * 1 = sleep read back 0 read back 0 0 = clock synchronised to data * 1 = clock free running 0 = 1008mhz processor bus * 1 = 2016mhz processor bus 0 = txsat selected * 1 = rxsat selected 0 = external rom 1 = internal rom * - sintsleep not used not used nompll turbo satmux irom not used 7 6 5 4 3 2 1 0 * reset state in normal mode table 110 port 5 ace9050 configuration read/write bit name - 0 = active * 1 = power down 00 = out2 [2] * 01 = pwm 2 10 = latch 2 * - 0 = i 2 c reset * 1 = i 2 c enabled 0 = c1008 low 1 = c1008 enabled * 0 = pwm 1 1= out_port 2 [1] * - xosc out2.2_sel - sel_i2c clkenab pwm1mux 7 6 [5:4] 3 2 1 0 logic state description not used power down oscillator multiplex control not used select i 2 c clk enable multiplexer control * reset state in normal mode table 111 modprt 0 modem control read/write bit name function 0 = reset modem * 1 = modem enabled 0 = tacs modem * 1 = amps modem bits 5: 4 = sat generator 00 = 597khz * 01 = 600khz 10 = 603khz 11 = no sat transmitted 0 = tx output disabled * 1 = tx output enabled mdresn a_tn scctx 1 [0] enami 7 6 [5:4] 3 cont table 112 * reset state in normal mode port 3 ace9050 configuration read/write bit name description 0 = no action * 1 = modem fully enabled 0 = latch 3 pulse generated * 1 = latch 3 set to 1 0 = ifc counter reset * 1 = enable ifc counter 0 = poffn set to 0 * 1 = poffn set to 1 0 = active * 1 = sleep 0 = out2 [0] * 1= 8064mhz clk 0 = csepn active for address ffff h * 1 = csepn inactive for address ffff h 0 = 256 period count * 1 = 2432 period count enmod onrad stifc upoffn mdmslp ensis sleep iffreq 7 6 5 4 3 2 1 0 logic state modem on ace serial interface start ifc count power control modem mode cpucl pin sleep ifc counter * reset state in normal mode table 109 out_port 2 external outputs read bit name description inverted drive to outp2 [7] pin inverted drive to outp2 [6] pin should be set to 0 should be set to 0 should be set to 0 drive level of outp2 [2] pin when selec ted by port 5 drive level of outp2 [1] pin when selec ted by port 5 drive level to cpucl pin when cpucl is disabled in port 3 outp2 [7] outp2 [6] reserved reserved reserved outp2 [2] outp2 [1] outp2 [0] 7 6 5 4 3 2 1 0 table 108
ace9050 47 modprt 0 modem control (continued) bit name function 0 = capture mode * 1 = sync mode 0 = word sync disabled * 1 = receiver will resynchronise 0 = control channel * 1 = voice channel 2 1 0 syndet enws vc_ccn not used chip select: 1 = cse2n, 0 = csepn banked address a17 banked address a16 banked address a15 banked address a14 bank_sel bank select register write only bit name description - cs ba17 ba16 ba15 ba14 [7:5] 4 3 2 1 0 table 116 ace9050 registers by block data dir register p1 data dir register p2 data port 1 data port 2 timer control/status free run counter msb free run counter lsb ip capture register msb ip capture register lsb rate and mode control tx/rx control and status rx data tx data 6303 name description table 117 ddr 1 ddr 2 port 1 port2 tcsr 1 frc_high frc_low icr_high icr_low rmcr trcsr rdr tdr addr r/w w w r/w r/w r/w r/w r/w r r w r/w r w 00 01 02 03 08 09 0a 0d 0e 10 11 12 13 ace9050 configuration ace9050 configuration ace9050 configuration ace9050 internal ports name description port 3 port 4 port 5 addr r/w r/w r/w r/w 26 40 42 table 118 bus interface name description addr r/w bank select bank_sel w 44 external i/p port external o/p port keypad i/p and chip id o/p type for kpo external ports name description in_port 1 ouy_port 2 keyp kpot addr r/w r r/w r/w w 22 24 36 68 watchdog and ato name description addr r/w reset watchdog reset time out rewd resato w w 6a 6c table 121 table 120 table 119 modprt 1 modem status read modprt 1 modem control write * reset state in normal mode table 112 (continued) bit name function mdmtst txdinv rxdinv lf1_2 sqlev [3:0] 7 6 5 4 [3:0] must always be set to 0 0 = tx data not inverted * 1 = tx data inverted 0 = rx data not inverted * 1 = rx data inverted 0 = discriminator enabled * 1 = discriminator bypassed (test) set the squelch threshold level table 113 * reset state in normal mode bit name function - b_i sccrx [1:0] sqrx [3:0] 7 6 [5:4] [3:0] not used 0 = busy/idle bit = 0 1 = busy/idle bit = 1 bits 5: 4 = sat received 00 = 597khz 01 = 600khz 10 = 603khz 11 = no sat received number of data bits in a word that have exceeded the preset squelch threshold table 114 table 115 lsicom 3 ace serial interface control register write bit name function go cl ans not used latch 3 latch 2 latch 1 latch 0 7 6 5 4 3 2 1 0 0 = no data transfer 1 = begin data transfer 0 = synthbus (126khz) 1 = acebus (1008mhz) 0 = no answer request 1 = answer request must be 0 synthbus: latch 3 synthbus: latch 2 latch 1 enabled for data transfer latch 0 enabled for data transfer
ace9050 48 reset internal interrupts mask internal interrupts read internal interrupts reset external interrupts mask external interrupts read exernal interrupts interrupts name description irqprt0 irqprt1 irqprt2 irqprt4 irqprt5 irqprt6 addr r/w w w r w w r 70 72 2c 74 76 2e table 122 i 2 c slave address i 2 c data tx/rx i 2 c control i 2 c status i 2 c clock i 2 c name description i2c_addr i2c_data i2c_cntr i2c_stat i2c_ccr addr r/w r/w r/w r/w r w 54 55 56 57 57 table 125 ace serial interface name description addr r/w ace interface tx1 ace interface tx2 ace interface tx3 ace interface control ace interface rx1 ace interface rx2 ace interface rx3 latch 3 width lsicom0 lsicom1 lsicom2 lsicom3 lsicom4 lsicom5 lsicom6 str_width w w w w r r r w 60 62 64 66 3a 3c 3e 67 table 123 pwm name description addr r/w pwm 1 data pwm 2 data dac1 dac2 w w 5b 5c table 124 modem name modprt0 modprt1 modprt2 table 126 description addr r/w r/w r/w r/w 30 32 34 configuration control/status data tx/rx bar name description addr r/w bar on bar off bar output enable barhigh barlow barenable w w w 50 51 52 table 127 baud rate generator name description addr r/w uart baud select brg w 53 table 128
ace9050 49 index functional overview pin descriptions electrical characteristics dc characteristics ac characteristics timing diagrams normal mode processor interface read cycle write cycle emulation mode processor interface read and write cycles serial interface block acebus read and write timings synthbus timing internal registers and reset status ace9050 registers 6303 registers modes of operation 1.normal mode 2.emulation mode 3.service mode 4.test mode 5.power down modes functional descriptions 1. ace9050 6303 general description pin description clock i/o port 1 i/o port 2 programmable timer serial communication interface sci (uart) ram control register operating modes low power consumption modes address data & memory control interrupt processing error processing 2. internal rom boot block normal mode service mode steps 1 and 2 step 3 normal mode step 3 service mode steps 4,5 and 6 motorola s format binary dump step 7 interrupt vector table ram area reserved for irom operation 3. decoder 4. bus interface and memory banking memory map and banked addressing non-banked area (root) banked area banked address system memory map 5. interrupts masking interrupts internal interrupt control port external interrupt control port 6. external ports & multiplexer 7. clock generator 8. baud rate generator 9. external reset 10. i 2 c interface general sel_i2c register i2c_cntr register i2c_stat register i2c_ccr register i2c_addr register i2c_data register clock synchronisation bus arbitration bus and internal clock speeds modes of operation master transmit 1. transmit start condition 2. transmit slave address and write 3. transmit data 4. transmit stop master receive 1. transmit start condition 2. transmit slave address and read 3. receive data 4. transmit stop slave transmit 1. entering slave transmit mode 2. sending data 3. completing transfer slave receive 1. entering slave receive mode 2. receiving data 3. completing transfer radio functions 1. internal configuration registers 2. amps tacs modem and sat controller general description interrupts modem block descriptions controller discriminator data decoder word sync detector modes of operation control channel voice channel data transmitter data transmission sequence sat management sat detector sat transmitter page 3 4 6 7 8 9 10,11 11 12 13 13 13 13 14 14 14 14 14 14 14 15 15 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17,18 18 19 20 20 20 page 21 21 21 22 23 24 24 24 25 26 26 27 28 28 28 28 28 28 28 29 29 30 30 30 30 31 31 31 31 31 31 31 31 32 34 34 34 35 36 36 37 37 37 38 38 38 39
ace9050 50 3. ace serial interface block general description transmitter section sending data receiver section receiving data programming programming constraints programming sequences acebus transfers synthbus transfers 4. ifc counter detailed operation programming example 5.pulse width modulator 6. beep alarm ring (bar) tone generator 7. keypad interface and chip identity output port prograrnming examples input port identity code 8. autonomous timeout (ato) block descriptions ato timer ato reset rxcd filter programmers guide to control ports and registers ace9050 registers by block page 39 40 40 40 40 41 41 41 41 41 41 42 42 42 43 43 43 43 44 44 44 45 45 45 46 47 list of illustrations fig. 1 pin connections fig. 2 ace implified block diagram fig. 3 detailed block diagram fig. 4 ace9050 6303 read cycle timing diagram fig. 5 ace9050 6303 write cycle timing diagram fig. 6 ace9050 6303 emulation mode read/write cycle timing diagram fig. 7 acebus transmit data flow fig. 8 acebus receive data flow fig. 9 acebus transmit timing diagram fig. 10 acebus receive timing diagram fig. 11 synthbus timing diagram fig. 12 data flow for the internal rom fig. 13 data and address bus configuration fig. 14 banked addressing block diagram fig. 15 memory map and banked addressing fig. 16 ace9050 interrupt configuration fig. 17 external crystal components fig. 18 exresn reset fig. 19 i 2 c data transfer fig. 20 amps/tacs modem and sat controller fig. 21 modem discriminator fig. 22 modem transmitter block diagram fig. 23 modem transmission sequence fig. 24 pulse width generator output fig. 25 keyport configuration page 1 1 2 7 8 9 10 10 10 10 11 18 19 20 20 22 24 25 26 33 34 38 38 42 43

m mitel (design) and st-bus are registered trademarks of mitel corporation mitel semiconductor is an iso 9001 registered company copyright 1999 mitel corporation all rights reserved printed in canada technical documen t a tion - n o t for resale world headquarters - canada tel: +1 (613) 592 2122 fax: +1 (613) 592 6909 north america asia/paci?c europe, middle east, tel: +1 (770) 486 0194 tel: +65 333 6193 and africa (emea) fax: +1 (770) 631 8213 fax: +65 333 6192 tel: +44 (0) 1793 518528 fax: +44 (0) 1793 518581 http://www.mitelsemi.com information relating to products and services furnished herein by mitel corporation or its subsidiaries (collectively mitel) is believed to be reliable. however, mitel assumes no liability for errors that may appear in this publication, or for liability otherwise arising from the application or use of any such information, product or service or for any infringement of patents or other intellectual property rights owned by third parties which may result from such application or use. neither the supply of such information or purchase of product or service conveys any license, either express or implied, under patents or other intellectual property rights owned by mitel or licensed from third parties by mitel, whatsoever. purchasers of products are also hereby noti?ed that the use of product in certain ways or in combination with mitel, or non-mitel furnished goods or services may infringe patents or other intellectual property rights owned by mitel. this publication is issued to provide information only and (unless agreed by mitel in writing) may not be used, applied or reproduced for any purpose nor form part of any order or contract nor to be regarded as a representation relating to the products or services concerned. the products, their speci?cations, services and other information appearing in this publication are subject to change by mitel without notice. no warranty or guarantee express or implied is made regarding the capability, performance or suitability of any product or service. information concerning possible methods of use is provided as a guide only and does not constitute any guarantee that such methods of use will be satisfactory in a speci?c piece of equipment. it is the users responsibility to fully determine the performance and suitability of any equipment using such information and to ensure that any publication or data used is up to date and has not been superseded. manufacturing does not necessarily include testing of all functions or parameters. these products are not suitable for use in any medical products whose failure to perform may result in signi?cant injury or death to the user. all products and materials are sold and services provided subject to mitels conditions of sale which are available on request.


▲Up To Search▲   

 
Price & Availability of ACE9050IG

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X